2010年10月30日土曜日

Google App Engineのcronを日付指定で実行

 GAEのcronで「毎月5日の午前4時」のような日付指定を設定したかったのだけど、そういう構文は無いらしい。その代わり、第一月曜とかは可能。なので、

cron:
- description: monthly ranking update
url: /tasks/rank/fetch
schedule: 1st mon,tue,wed,thu,fri,sat,sun of month 04:00
timezone: Asia/Tokyo
のように第1週の7日間に毎日起動して、スクリプトの中で日付を調べて動作する/しないを判断するようにした。
 日本のtimezoneはAsia/Tokyo。JSTとかにするとappcfg.py updateで最後のcorn更新のメッセージで500(server error)を吐く。しかしログに残らず(Admin Logには成功した変更のログしか残らない)、ヒントも無いので原因を見つけにくい。

0 件のコメント:

コメントを投稿