GAEでのCron Jobs設定で知っておきたいこと

先日Twitter Bot「kamome_ep」を作って、唯一手間取ったポイントがCron Jobsの設定でした。
基本的な部分は「Java 用の cron を使用したスケジュール タスク – Google App Engine – Google Code」でわかるんですが、実際に試してみないとわからない部分があったので、その辺をまとめておきます。

timeにカンマ区切りのリストで指定はできない

上記リンク先では、書いてないけどできるかなぁと思ってやってみたら、配置するときにエラーを出されました。
めんどくさいけど、ノードを増やして1つずつ書いていきましょう。
もちろん、規則的なものについては”ever”を使った記述を使ったほうが見易くていいです。

NG

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/recache</url>
    <description>8/23 10:00,14:00,23:00</description>
    <schedule>4th tue of aug 10:00,14,00,23:00</schedule>
  </cron>
</cronentries>
</xml>

OK

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/recache</url>
    <description>8/23 10:00</description>
    <schedule>4th tue of aug 10:00</schedule>
  </cron>
  <cron>
    <url>/recache</url>
    <description>8/23 14:00</description>
    <schedule>4th tue of aug 14:00</schedule>
  </cron>
  <cron>
    <url>/recache</url>
    <description>8/23 23:00</description>
    <schedule>4th tue of aug 23:00</schedule>
  </cron>
</cronentries>
</xml>

もし、いい方法があったら教えて下さい。

登録できるJobs数は最大20件まで

上記のように一生懸命やっても最大20件までしか登録できないので、登録しすぎたらコメントアウトなりで隠して、終わったものは定期的に落としてコメントアウトを外しましょう。

週の頭は月曜日

私も高校生までは週の頭は月曜日だと思ってたんですが、何かとスケジュールに追われるような年頃になったあたりから、週の頭は日曜日となってしまってました。
プログラミングでも日曜日が「0」のことが多いですしね。
ということで気をつけましょう。

//これだと28日の日曜日になる
<description>8/21 10:00</description>
<schedule>4th sun of aug 10:00</schedule>

//これだと21日の日曜日
<description>8/21 10:00</description>
<schedule>3rd sun of aug 10:00</schedule>


この記事をブックマーク・シェアする

この記事に関連する記事

カテゴリ

コメント

コメントを残す

コメント*

コメントリンクを nofollow free に設定することも出来ます。

誤字・脱字やリンク切れなどお気づきの点がございましたら@loop0429までよろしくお願いします。

この記事の先頭へ