参考
まず、cron.yaml というファイルを新規作成し、app.yamlなどと同じ場所に保存する。
cron.yaml
cron:
- description: execute every 24 hours.
url: /hogetask
schedule: every 24 hours
timezone: Asia/Tokyo
- description: execute at 23:00 everyday.
url: /footask
schedule: every day 23:00
timezone: Asia/Tokyo
- description: execute at 9:00 every monday.
url: /baatask
schedule: every monday of month 09:00
timezone: Asia/Tokyo
ざっと説明すると、description: はコメント、url: は実行するタスクのURL、そして、schedule: はスケジュール・フォーマットを表し、実行する日時やタイミング(スケジュール)を指定する。スケジュール・フォーマットの詳細はこちらを参照のこと。
そして、お馴染みの app.yaml は以下のように記述する。
app.yaml
application: hello-cron
version: 1
runtime: python
api_version: 1
handlers:
- url: /hogetask
script: hogetask.py
login: admin
- url: /footask
script: footask.py
login: admin
- url: /baatask
script: baatask.py
login: admin
特に説明の必要は無いだろう。
大切なのは login: admin の部分だ。
こう記述しておけば、たとえ外部からタスクのURLにアクセスされても管理者でなければジョブが実行されることはない。
後は appcfg.py を利用してGAEアプリをアップロードすればCRONジョブは設定される。
アップロードしたCRONジョブを初期化したい場合は、cron.yaml に以下の内容のみを記述してアップロードすれば良い。
cron.yaml
cron:
なお、ローカル開発環境のCRONジョブは、 http://localhost:8080/_ah/admin/cron へアクセスすると確認できる。
ここはひとつポチっとよろしく。
プログラミング Google App Engine
posted with amazlet at 11.06.03
Dan Sanderson
オライリージャパン
売り上げランキング: 40082
オライリージャパン
売り上げランキング: 40082
【GAE for Pythonの最新記事】
- GAE/Pでmemcacheを利用してデ..
- PythonでJST日付をUTC(GMT..
- BeautifulSoupオブジェクトを..
- GAE/Pで詳細なエラーログ(トレース情..
- Pythonでオブジェクトのlistをソ..
- GAE/PでAspyctを使ってAOP(..
- GAE/Pでカスタムタグを作って日付をU..
- GAE/PでBeautifulSoupを..
- GAE/Pでログインが必要なページを取得..
- GAE/Pでファイルアップロード。
- GAE/Pでリクエストデータの扱い方。
- GAE/PでModelをJSON変換する..
- GAE/P向け統合開発環境 Eclips..
- GAE/PとjQueryでJSONデータ..
- GAE+Pythonの標準モジュールだけ..
- GAE+Pythonでテンプレートの共通..
- GAEアプリをアップロードする方法。
- GAE+Pythonでテンプレートエンジ..
- GAE+Pythonでデータストアを操作..
- webappフレームワークを使ったフォー..
