Quartz Scheduler与Cron没有选择所有的工作

时间:2017-09-20 04:16:18

标签: c# cron quartz-scheduler quartz.net crontrigger

我有一个Windows服务创建并托管一些作业(今天的数字是64,最多可以达到1400),可以作为不同的时间表执行。在我目前已经说过的那些64个应该在每天凌晨4点和下午4点开始的时候,每天应该在每天凌晨3点和下午3点开始,其余14个应该在每天凌晨5点和下午5点开始。我看到很少有工作按照时间表被正确触发,它会留下几个工作,从不触发它们。

当我查看QRTZ_表中的crons表达式和Next fire time时,一切看起来都很好。我有以下配置,下面是我创建和触发计划的代码。什么一定出错了,怎么能搞清楚。

IJobDetail objJobDet = JobBuilder.Create<AuditProcessor>()
                       .WithIdentity("Job-" + obj.Key.ToString(), AuditType.ToString())
                       .UsingJobData(obj.Key)
                       .Build();

ITrigger objJobTrigger = TriggerBuilder.Create()
                         .WithIdentity("Trigger-" + obj.Key.ToString(), AuditType.ToString())                            
                         .StartAt(new DateTimeOffset(startAtTime))
                         .WithCronSchedule(objCronExp[obj.Key], x => x.WithMisfireHandlingInstructionIgnoreMisfires())
                         .Build();

QrtzController.AddJobToScheduler(objJobDet, objJobTrigger);

配置:

<add key="QrtzSchedulerInstanceName" value="SignAuditInstance"/>
<add key="QrtzSchedulerInstanceId" value="SignAuditInstanceOne"/>
<add key="QrtzThreadPoolType" value="Quartz.Simpl.SimpleThreadPool, Quartz"/>
<add key="QrtzthreadCount" value="50"/>
<add key="QrtzThreadPriority" value="Normal"/>

<!--Job Store Properties-->
<add key="QrtZJobStoreMisfireThreshold" value="60000"/>
<add key="QrtzJobStoreType" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"/>
<add key="QrtzJobStoreUseProps" value="false"/>
<add key="QrtzJobStoreDataSource" value="default"/>
<add key="QrtzJobStoreClustered" value="false"/>

0 个答案:

没有答案