【发布时间】:2019-09-08 13:46:58
【问题描述】:
我正在尝试使用 Abp.Quartz 来安排作业。
使用 net core 2.2, abp 4.5
我在此处的文档中所做的一切 https://aspnetboilerplate.com/Pages/Documents/Quartz-Integration ,只能在 PostInitialize 方法中解决。
最后我尝试了与文档中完全相同的方法(从控制器启动调度程序)。
但它也没有奏效。作业未开始。
namespace Cloud
{
[DependsOn(typeof(AbpZeroCoreModule),
typeof(AbpQuartzModule))]
public class CloudCoreModule : AbpModule
{
public override void PreInitialize()
{
}
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(CloudCoreModule)
.GetAssembly());
}
public override void PostInitialize()
{
IocManager.Resolve<IQuartzScheduleJobManager>().ScheduleAsync<ApiRequestQueues.ApiRequestProcessor>(
job =>
{
job
.WithIdentity("RevolutApiProcessor")
.WithDescription("A job witch processing request front");
},
trigger =>
{
trigger
.StartNow()
.WithSimpleSchedule(
schedule =>
{
schedule
.RepeatForever()
.WithIntervalInSeconds(5)
.Build();
});
});
}
}
}
这里是 ApiRequestProcessor 类
public class ApiRequestProcessor : JobBase, ITransientDependency
{
public override async Task Execute(IJobExecutionContext context)
{
//some work
}
}
【问题讨论】:
-
您好!我知道现在问这个问题有点太晚了,但它可能对像我这样的其他人有所帮助,因为我遇到了类似的问题。有 2 个入口点可供调查: 1. 您是否检查过 App_Data 文件夹中的日志? 2. 你的 WebCoreModule 中添加了 [DependsOn(typeof(CloudCoreModule)] 吗?
-
我遇到了完全相同的问题。你有没有找到解决这个问题的方法?
-
@plastiquewind - Abp.Quartz 工作需要 cloudcoremodule 吗?文档中没有提到...
-
嗨@fullStackChris。文档中没有提到它,因为 CloudCoreModule 不是框架的一部分。只是原问题中提到的一个自定义类,上面可以看到。
标签: c# module autostart quartz abp