如何在Quartz调度程序中每天从上午9点到下午5点每25分钟运行一次?

时间:2016-09-14 08:01:26

标签: cron quartz-scheduler quartz.net crontrigger

我正在使用Quartz Scheduling,我尝试创建一个触发器,每天上午9点到下午5点开始,每25分钟一次。它应该是这样的:     9:00,9:25,9:50,10:15,10:40,11:05等

最终的夸脱表达式看起来像这样:     0 0/25 9-17 * *? *

但是执行看起来像这样:     9:00,9:25,9:50,10:00,10:25,10:50,11:00等

有任何方法可以达到这个时间表:     9:00,9:25,9:50,10:15,10:40,11:05等 或者我应该换石英?

谢谢!

1 个答案:

答案 0 :(得分:0)

实际上这个问题类似于Cron expression to be executed every 45 minutes SO问题。

Cron表达式不允许您这样做,因为它定义了必须触发触发器的确切日期和时间。并且设置就像你的实际意味着每25分钟开始一次,从每小时的第0分钟开始#34;

您可以使用.WithIntervalInMinutes(25)配置SimpleTrigger来实现您的目标。

  

SimpleTrigger应该满足您的日程安排需求,如果您需要在特定时刻执行一次作业,或者在特定时刻执行,然后按特定时间间隔重复执行。

P.S。你的cron表达式将工作20分钟(0 0/20 9-17 * *?*),因为60是20的倍数。以防万一更改间隔对你来说并不重要)

P.S.2老实说,如果设置很少触发不同的间隔,你可以使用Cron表达式,但这是无用的。无论如何,请查看this SO answer