问题描述
我已经实现了以下代码来使用 Quartz 管理计划作业。 Evrything 在一项工作中运行良好,但如果我尝试添加另一项工作,它只会被忽略而不执行。
public class JobScheduler
{
public static async System.Threading.Tasks.Task StartJobsAsync()
{
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type","binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);
// get a scheduler
IScheduler sched = await factory.GetScheduler();
await sched.Start();
IJobDetail importerJob = JobBuilder.Create<ImporterJob>().Build();
ITrigger importerTrigger = TriggerBuilder.Create()
.WithIdentity("trigger","group")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(300)
.RepeatForever())
.Build();
IJobDetail teFetchJob = JobBuilder.Create<TradingEconomicsDataFetchJob>().Build();
ITrigger teFetchTrigger = TriggerBuilder.Create()
.WithIdentity("trigger","group")
.StartNow()
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(11,15))
.Build();
await sched.ScheduleJob(importerJob,importerTrigger);
await sched.ScheduleJob(teFetchJob,teFetchTrigger); //this is never executed!
}
}
void Application_Start(object sender,EventArgs e)
{
System.Web.Http.GlobalConfiguration.Configure(WebApiConfig.Register);
Logging.ConfigureNLog();
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
JobScheduler.StartJobsAsync();
}
Quartz 上的日志如下:
2021-03-08 11:10:02.5359|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:10:28.4381|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:10:54.5953|INFO||Using object serializer: Quartz.Simpl.BinaryObjectSerializer,Quartz
2021-03-08 11:10:54.6473|DEBUG||TaskSchedulingThreadPool configured with max concurrency of 10 and TaskScheduler ThreadPoolTaskScheduler.
2021-03-08 11:10:54.6583|INFO||Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
2021-03-08 11:10:54.6733|INFO||Quartz Scheduler v.3.0.7.0 created.
2021-03-08 11:10:54.6733|INFO||RAMJobStore initialized.
2021-03-08 11:10:54.6843|INFO||Scheduler Meta-data: Quartz Scheduler (v3.0.7.0) 'QuartzScheduler' with instanceId 'NON_CLUSTERED'
Scheduler class: 'Quartz.Core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'Quartz.Simpl.DefaultThreadPool' - with 10 threads.
Using job-store 'Quartz.Simpl.RAMJobStore' - which does not support persistence. and is not clustered.
2021-03-08 11:10:54.6843|INFO||Quartz scheduler 'QuartzScheduler' initialized
2021-03-08 11:10:54.6843|INFO||Quartz scheduler version: 3.0.7.0
2021-03-08 11:10:54.6843|INFO||Scheduler QuartzScheduler_$_NON_CLUSTERED started.
2021-03-08 11:10:54.7033|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:10:54.7413|DEBUG||Batch acquisition of 1 triggers
2021-03-08 11:10:54.7553|DEBUG||Producing instance of Job 'DEFAULT.b330f265-47ca-4387-b0e4-8f6fda416a86',class=ImporterJob
2021-03-08 11:10:54.7633|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:10:54.8023|DEBUG||Calling Execute on job DEFAULT.b330f265-47ca-4387-b0e4-8f6fda416a86
2021-03-08 11:11:00.0964|DEBUG||Trigger instruction : NoInstruction
2021-03-08 11:11:24.2356|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:11:49.4608|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:12:16.1231|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:12:44.9434|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:13:14.7546|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:13:40.9129|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:14:08.7782|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:14:35.8354|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:15:04.0067|DEBUG||Batch acquisition of 0 triggers
2021-03-08 11:15:29.1489|DEBUG||Batch acquisition of 1 triggers
我的代码有什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)