如果有开始日期和结束日期,Hangfire如何编写crontab?
问题描述:
我知道crontab表达式没有“年”表达式。但是我想知道,如果有一种解决方法或某种可以使Hangfire在特定年份启动/停止计划的方法。如果有开始日期和结束日期,Hangfire如何编写crontab?
例如,假设一个案例:
假定当前日期是2016年9月15日
计划开始于2016年,12月,由上午8:30每小时1次
重复直到下午5点30分(办公时间)
星期一 - 星期五发生在工作日
结束于2018,Februrary,1
从,它可能需要在某些情况下超过1级的crontab表达的其它交解读。但对于这个,我不知道如何写。原因:
如果我写:
- “30 8 112 0-4”:它仅规定12月1日
- “30 * 8 * 0-4”:它不知道哪些月开始或结束
如何编写此crontab?
答
不确定一个干净的方式。但它可能在这个方式之 晚五的工作来处理:
2延迟乔布斯就开始日期和结束日期运行(StartDateDelayedJob,EndDateDelayedJob)
3重复的作业 -
- 1:用cron表达式(* */1 * * 1-5)从星期一到星期五每小时运行一次预期任务,
- 第二个用cron表达式(30 8 * * 1-5)每天添加第一个重复任务8 30如果是星期一至星期五,
- 如果是星期一至星期五,则以(30 17 * * 1-5)的cron表达式以每天5 30除去第一个重复作业。
StartDateDelayedJob将添加第2次重复作业和第3次重复作业。
EndDateDelayedJob将删除两个重复作业。
希望这有助于
张贴在此之后,我想也许开始日期可以通过使用“延迟任务”与指定的日期可能处理。在延迟任务中,引入循环任务... 同时,结束日期(年度信息)存储在另一列中,每当任务运行时,检索年份以查看它是否仍在当前年份之内信息...如果没有,请删除作业... – zeroflaw