我尝试使用cron表达式创建预定作业,但Azure不接受我创建的任何表达式。例如,我想开始一个从3:30开始每小时运行的工作
0 30 3/1 * * * *
但根据Azure,这是无效的。根据其他网站,这是有效的。
答案 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