如何安排每天 13:00 运行的任务
How to schedule a task that runs everyday in 13.00 h
我正在使用 Quartz
库来 运行 一个时间表 task.I 像这样使用它
ISchedulerFactory scheduleFact = new StdSchedulerFactory();
IScheduler scheduler = scheduleFact.GetScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("myjob", "group 1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group 1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(60*60*12)
.RepeatForever())
.Build();
scheduler.ScheduleJob(job, trigger);
这个有效 fine.that 意味着每 12 运行 的时间表 hours.but 我想要的是每天 运行 时间为 13 时的任务。00.how 我可以做吗that.hope 你的帮助。
您可以使用 WithSchedule
创建工作并使用 CronScheduleBuilder
定义工作频率 -
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(13, 00))
.ForJob(myJobKey)
.Build();
或者,您也可以在使用 WithCronSchedule
创建作业时使用 Cron 表达式
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group1")
.WithCronSchedule("0 00 13 * * ?")
.ForJob("myJob", "group1")
.Build();
可以找到更多详细信息 here。
var trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule(s => s
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(13, 00)))
.EndingDailyAfterCount(1))
.Build();
提示:为了调试目的,在控制台上输出接下来的 10 次运行。
var times = TriggerUtils.ComputeFireTimes(trigger as IOperableTrigger, null, 10);
foreach (var time in times) Console.WriteLine(time);
我正在使用 Quartz
库来 运行 一个时间表 task.I 像这样使用它
ISchedulerFactory scheduleFact = new StdSchedulerFactory();
IScheduler scheduler = scheduleFact.GetScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("myjob", "group 1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group 1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(60*60*12)
.RepeatForever())
.Build();
scheduler.ScheduleJob(job, trigger);
这个有效 fine.that 意味着每 12 运行 的时间表 hours.but 我想要的是每天 运行 时间为 13 时的任务。00.how 我可以做吗that.hope 你的帮助。
您可以使用 WithSchedule
创建工作并使用 CronScheduleBuilder
定义工作频率 -
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group1")
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(13, 00))
.ForJob(myJobKey)
.Build();
或者,您也可以在使用 WithCronSchedule
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("mytrigger", "group1")
.WithCronSchedule("0 00 13 * * ?")
.ForJob("myJob", "group1")
.Build();
可以找到更多详细信息 here。
var trigger = TriggerBuilder.Create()
.WithDailyTimeIntervalSchedule(s => s
.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(13, 00)))
.EndingDailyAfterCount(1))
.Build();
提示:为了调试目的,在控制台上输出接下来的 10 次运行。
var times = TriggerUtils.ComputeFireTimes(trigger as IOperableTrigger, null, 10);
foreach (var time in times) Console.WriteLine(time);