2017年04月 / 03月≪ 123456789101112131415161718192021222324252627282930≫05月

2010.02.14 (Sun)

[ python ] app.yaml や cron.yaml の設定 [ GoogleAppEngine ]

GAE上で必ず必要になるのが「app.yaml」というファイル。
このファイルに実行したいプログラムのパスなどを記載し、ユーザからURLのリクエストが来たら対応するプログラムを起動するように設定する。
以下、具体例。



application: holy-k-night-test
version: 3
runtime: python
api_version: 1

handlers:

- url: /HolyKnightBot/.*
script: HolyKnightBot/greed_holy_knight.py
login: required

- url: (/.*)|(/HelloWorldGAE/.*)
script: HelloWorldGAE/helloworldgae.py




「application:」のところには、アプリケーション名を入れる。
アプリケーション名とは、一つのアカウントが10個まで持てるアプリケーションの名前。
説明になってないなw
「version:」には、その登録するアプリケーションのバージョンを書き入れる。
整数値で、1~100までの設定が可能。
「runtime:」には実行環境の情報を入れる。
「api_version:」には、実行環境のバージョンについて記入。
pythonは version 1 しかないようだ。

そして、「handlers:」以降にアプリケーション情報を書き込んでいく。
   ・url:   ユーザがアクセスするURLを書き込む。ここには正規表現を使うことができ、
         この例では「HolyKnightBot」および「HelloWorldGAE」へのURLに適応する。
   ・script: URLに対応する実行したい処理のプログラムファイルを記述。
   ・login:  これは任意で設定することができ、「required」と設定するとGoogleAccountにログインした人しかアクセスできない。
         GoogleAccountを使ったプログラムも組めるため、そういうときに有効に使うことができるのではないかと。
ちなみに、login設定をしてローカルでテスト実行を行う場合、ブラウザでローカルアクセスするとログイン画面が表示される。
ログインにはデフォルトで用意されたアカウントを使用することになり、その際にAdministratorか一般ユーザかを選択できる。






GAE(GoogleAppEngine)上で定期的にプログラムを走らせたい場合にはCronという機能を使う。
CronはLINUXでスクリプトを走らせるときによく使われているデーモンらしいのだが、全然知らなかった。
LINUXは多少触ったことはあったけれども、実家でネットにつなげるようになったのはほんの数年前だったから、LINUXで好き勝手にいじりまくる時間はなかった。

さて、LINUXで使われるCronは全く知らないので、GAE上のCronについて。
GAE上のCronはYAMLという形式のファイルで管理する。
「cron.yaml」というファイルを定期実行で走らせたいプログラムと一緒にアップしてやるだけというお手軽さ。

以下は、この休みで作ってたテスト用TwitterBotのプログラムに使ったcron.yaml。



cron:
- description: twitter bot "holy-(K)night"
 url: /HolyKnightBot/???
 schedule: every 60 mins




「cron:」
という行に続き、「description:」や「url:」などの設定を行う。
descriptionでは、おそらく名前を付けているのかな?
urlでは、実行する間隔を設定。
この例では一時間ごとという設定にしてあるが、毎週月曜朝9時や4月1日0時に実行なども設定可能。
  Python 用の cron を使用したスケジュール タスク


ブラウザからアプリケーション情報を確認できるが、その中の項目に「CronJobs」という項目がある。
Cronが設定されていると、その内容が見ることができるが、cron.yamlをアップして設定した直後では「 Hasn't run yet 」という状態になっている。
だが、これはうまく設定できていないというわけではなく、自動更新が一度行われると「Success」となるため、ちゃんと設定されていてもこういう表示がされる。

テーマ : プログラミング ジャンル : コンピュータ

04:22  |  プログラミング系  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑

*Comment

コメントを投稿する

URL
COMMENT
PASS  編集・削除するのに必要
SECRET  管理者だけにコメントを表示  (非公開コメント投稿可能)
 

▲PageTop

*Trackback

この記事のトラックバックURL

→http://gasser.blog114.fc2.com/tb.php/403-f7425453

この記事にトラックバックする(FC2ブログユーザー)

この記事へのトラックバック

▲PageTop

 | BLOGTOP |