【发布时间】:2017-05-28 20:43:08
【问题描述】:
我有两个任务。第一个应该每小时执行一次,第二个应该在每天 12:00 执行。第一个任务的触发器工作正常,但第二个任务只有在目标时间前几分钟创建时才会触发。我做错了什么?
第一个配置:
IJobDetail job = JobBuilder.Create<WatchJob>()
.WithIdentity("Job_1", "First")
.WithDescription("Job_1_First")
.UsingJobData("AppData", JsonConvert.SerializeObject("Job_1_First"))
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("Trigger_1", "First")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInMinutes(1440)
.RepeatForever())
.Build();
第二个:
IJobDetail updateJob = JobBuilder.Create<UpdateJob>()
.WithIdentity("Job_1", "Second")
.WithDescription("Job_1_Second")
.UsingJobData("AppData", JsonConvert.SerializeObject("Job_1_Second"))
.Build();
ITrigger updateTrigger = TriggerBuilder.Create()
.WithIdentity("Trigger_1", "Second")
.WithDailyTimeIntervalSchedule
(t => t
.WithIntervalInHours(24)
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(12, 0))
)
.Build();
调度器配置:
<quartz>
<add key="quartz.scheduler.instanceName" value="Test" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="1" />
<add key="quartz.threadPool.threadPriority" value="2" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
</quartz>
【问题讨论】:
-
您使用哪个版本的石英?它是一个 Asp.Net 项目吗?
-
@Rabban,我在控制台应用程序中使用 Quartz 2.4.1
标签: quartz.net