无论开始时间如何,安排每小时第 35 分钟的任务
Schedule a task of for 35th minute of every hour regardless of start time
我对 quartz 调度程序还很陌生,它比我需要的更全面。
我只想 运行 每小时 35 分钟的任务,无论应用程序何时启动。
显然这可以通过 cron 作业来完成。到目前为止我的代码是
StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
IJobDetail hourlyJob = JobBuilder.Create<Hourly>()
.WithIdentity("hourlyJob", "Jobs")
.Build();
ITrigger hourlyJobTrigger = TriggerBuilder.Create()
.WithIdentity("hourlyJobTrigger", "Jobs")
.StartNow()
.WithCronSchedule("59 0 0 ? * * *")
.Build();
await scheduler.ScheduleJob(hourlyJob, hourlyJobTrigger);
据我了解,这应该使任务 运行 在每 59 秒(出于测试目的)一分钟执行。不过好像没有触发。
你可以用下一个 cron 表达式来完成
0 35 0/1 ? * * *
这个cron表达式意味着它会在每天35分钟内每小时触发一次。
我们的代码将是
ITrigger hourlyJobTrigger = TriggerBuilder.Create()
.WithIdentity("hourlyJobTrigger", "Jobs")
.StartNow()
.WithCronSchedule("0 35 0/1 ? * * *")
.Build();
我对 quartz 调度程序还很陌生,它比我需要的更全面。
我只想 运行 每小时 35 分钟的任务,无论应用程序何时启动。
显然这可以通过 cron 作业来完成。到目前为止我的代码是
StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = await factory.GetScheduler();
await scheduler.Start();
IJobDetail hourlyJob = JobBuilder.Create<Hourly>()
.WithIdentity("hourlyJob", "Jobs")
.Build();
ITrigger hourlyJobTrigger = TriggerBuilder.Create()
.WithIdentity("hourlyJobTrigger", "Jobs")
.StartNow()
.WithCronSchedule("59 0 0 ? * * *")
.Build();
await scheduler.ScheduleJob(hourlyJob, hourlyJobTrigger);
据我了解,这应该使任务 运行 在每 59 秒(出于测试目的)一分钟执行。不过好像没有触发。
你可以用下一个 cron 表达式来完成
0 35 0/1 ? * * *
这个cron表达式意味着它会在每天35分钟内每小时触发一次。
我们的代码将是
ITrigger hourlyJobTrigger = TriggerBuilder.Create()
.WithIdentity("hourlyJobTrigger", "Jobs")
.StartNow()
.WithCronSchedule("0 35 0/1 ? * * *")
.Build();