2010-09-10 44 views
2

我想安排一個cron任務,每小時運行一次,但僅限於週四到週一。這樣的時間表是可能的嗎?從the documentation,它看起來像我可以安排一個cron任務在每隔一小時運行在某一個特定的時間特定的日子,但我無法弄清楚如何安排一個cron任務在每隔一小時運行在特定日期只有在App Engine的某些日期每個小時安排一個cron作業執行

我已經試過時間表像cron.yaml如下:

  • every 1 hours thu,fri,sat,sun,mon
  • every 1 hours of thu,fri,sat,sun,mon

我閱讀文檔的方式,我覺得這是不可能的。我希望我已經錯過了某些東西,或者有一些我未嘗試完成的未被記錄的語法。

+5

可能的解決方法:使腳本檢查日期 – leoluk 2010-09-10 23:06:50

回答

3

就像您在cronjobs文檔中發現的那樣,the source也似乎表明間隔計劃格式不允許您將間隔限制爲一週中的特定日期。

雖然你不能用一個單一的cronjob安排你的任務,你可以用多個cronjobs安排它:

every thu,fri,sat,sun,mon 00:00 
every thu,fri,sat,sun,mon 01:00 
... 
every thu,fri,sat,sun,mon 23:00 

另外,leoluk「的評論也是一個不錯的建議 - 只使用一個單一的,簡單的間隔每小時調用腳本的時間表,但如果一週中的某一天是您希望排除的星期幾(例如,您的情況爲星期二或星期三),則無需執行任何操作即可終止腳本。

+0

是的,這聽起來像只是檢查腳本開始的一天可能是正確的選擇。 – 2010-09-12 18:00:22

+0

注意:源代碼中有一條評論,表明可以擴展計劃語法以允許指定多個小時 - 然後您可以將24個作業合併爲一個作業。所以也許將來你可以用一個cronjob替換腳本中的腳本(比較長的一行,但要比通過cron實現目標所需的24個任務更好)。 – 2010-09-12 18:09:45

+0

您最多隻能有20個cron作業 – Ally 2010-11-07 13:58:32

相關問題