如何在Quartz.Net中表示在周一至周日上午7:20到下午8:30之间每x分钟触发一次的计划作业?我有点困惑,测试需要时间来确认。
根据https://www.freeformatter.com/cron-expression-generator-quartz.html的说法,它应该是"0 20-30 7-18?*星期一,星期二,星期三,清华,星期五,星期六,太阳*",但是我如何表达7:20-18:30呢?
上面的表达式生成类似下面这样的下一次执行,这不是我所期望的。
9月15日星期二07:20:00 UTC 2020 Tue Sep 15 07:21:00 UTC 2020 Tue Sep 15 07:22:00 UTC 2020 Tue Sep 15 07:23:00 UTC 2020 Tue Sep 15 07:24:00 UTC 2020 Tue Sep 15 07:26:00 UTC 2020 Tue Sep 15 07:27:00 UTC 2020 Tue Sep 15 07:28:00 UTC 2020 Tue Sep 15 07:29:00 UTC 2020
并被描述为“每周一、二、三、四、五、六、日,每个月,每周一、二、三、四、五、六、日,每周一、二、三、四、五、六、日,每周一、二、三、四、五、六、日,每周一、二、三、四、五、六、日,每周一、二、三、四、六、日。”
发布于 2020-09-15 08:37:01
根据这些信息,您基本上需要三个cron表达式,因为您无法指定确切的时间:
0 00-30/X 18-19 ? * *
0 20-59/X 07-08 ? * *
0 0/X 08-18 ? * *我摆脱了周一到周日,因为它意味着每天。第一次是在下午6点到6点半之间。第二个cron表达式在7:20 am和8 am之前运行第三次是在上午8点到下午6点之间。
/X将每X分钟运行一次。
发布于 2020-09-15 23:27:37
如果您使用的是quartz.net,那么您可能希望使用不同的触发器类型,而不是cron表达式。
看一看.WithDailyTimeIntervalSchedule
.WithDailyTimeIntervalSchedule(s=>
s.WithIntervalInMinutes(15)
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(7,20))
.EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(20,30))https://stackoverflow.com/questions/63892881
复制相似问题