Azure cron表达式从特定时间开始每小时一次

时间:2017-03-15 03:42:13

标签: azure cron

我尝试使用cron表达式创建预定作业,但Azure不接受我创建的任何表达式。例如,我想开始一个从3:30开始每小时运行的工作

0 30 3/1 * * * *

但根据Azure,这是无效的。根据其他网站,这是有效的。

2 个答案:

答案 0 :(得分:1)

你的意思是每天从凌晨3:30开始到每天午夜(晚上11:30)结束吗?

这应该有效:

0 30 3-23 * * *

或者从下午3:30到晚上11:30:

0 30 15-23 * * *

更新:
如果你想让你的第一次运行在特定时间发生,然后每n分钟重复一次,那么我认为Azure Webjob Cron将无济于事。它们不支持扩展语法。实际上,他们使用修改后的ncrontab实现,因此您可以尝试深入研究。

但是 - 如果您有特殊需要在特定时间启动cron并且无限制地运行,您有以下几种选择:
选项1:使用Azure Scheduler。它有Start At Specific Time Setting
选项2:在代码中添加一个检查日期/时间,然后每30分钟运行一次Cron。

答案 1 :(得分:0)

您可以将清除/设置禁止标志分离为单独的作业:

0 30 * * * * if [ ! -e /tmp/inhibitor ] ; then job.sh ; fi
0 0  0 * * * touch /tmp/inhibitor
0 29 3 * * * rm -f /tmp/inhibitor