我試圖使用cron表達式創建計劃作業,但Azure不接受任何我創建的表達式。例如,我想在3:30從特定時間開始每小時一次的Azure cron表達式
0 30 3/1開始運行每隔一小時開始工作* * * *
但根據Azure的,這是無效的。根據其他網站這是有效的。
我試圖使用cron表達式創建計劃作業,但Azure不接受任何我創建的表達式。例如,我想在3:30從特定時間開始每小時一次的Azure cron表達式
0 30 3/1開始運行每隔一小時開始工作* * * *
但根據Azure的,這是無效的。根據其他網站這是有效的。
你的意思是每天每小時從上午3點半開始到午夜(下午11點半)結束嗎?
這應該工作:
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:添加一個檢查到您的代碼,將檢查日期/時間,然後運行Cron每30分鐘。
你可以分開結算/設置的禁止標誌爲單獨的作業:
0 30 * * * * if [ ! -e /tmp/inhibitor ] ; then job.sh ; fi
0 0 0 * * * touch /tmp/inhibitor
0 29 3 * * * rm -f /tmp/inhibitor
好其實我想要的工作永遠持續運行每隔一小時,我只是想在初始運行在特定的時間開始。 – erotavlas
@erotavlas,參見我的更新 – RAS
如果我不關心最初的開始時間,但只是希望它每小時運行一次 - 基本上我需要每天在整個一天,每天都運行它 - 這是正確的嗎? 0 0 0-23 * * * – erotavlas