GAE/Python は、9時間/日の Backend Instance 無料枠があります。
この無料枠を使う方法をメモっておきます。
[公式ドキュメント]
https://cloud.google.com/appengine/docs/python/modules/
【重要】
・Backends Python API は、2014/3/13 に停止されています。
・WEB上の古い記事に注意しましょう。
[利用ケース]
この Backend Instance は、Cron で起動して、バッチ処理に使うとよいでしょう。
[必要なファイル]
app.yaml
dispatch.yaml
backend.yaml
cron.yaml
[app.yaml]
デフォルト(Frontend Instance)の設定ファイルです。
例:自動スケーリング(F1)を使用します。
-- ここから --
application: <アプリケーション名>
module: default
version: 1
runtime: python27
api_version: 1
threadsafe: true
instance_class: F1
automatic_scaling:
max_idle_instances: 1
min_pending_latency: 15.0s
handlers:
- url: /.*
script: <スクリプト>
-- ここまで --
[dispatch.yaml]
どの処理を Backend Instance に渡すかを記述します。
例: /backend にリクエストがあった場合、module:backend を利用します。
-- ここから --
application: <アプリケーション名>
dispatch:
- url: "*/backend/*"
module: backend
-- ここまで --
[backend.yaml]
バックエンドの設定ファイルです。
例:基本スケーリング(B1)を使用します。
-- ここから --
application: <アプリケーション名>
module: backend
version: 1
runtime: python27
api_version: 1
threadsafe: true
instance_class: B1
basic_scaling:
max_instances: 1
idle_timeout: 10m
handlers:
- url: /.*
script: <スクリプト>
-- ここまで --
[Cron.yaml]
Cron で処理を起動するには、cron.yaml を準備します。
例: 毎日 02:00 に、/backend/cron/day の処理を起動します。
-- ここから --
cron:
- description: Cron Day Job of Backend
url: /backend/cron/day
schedule: every day 02:00
timezone: Asia/Tokyo
target: backend
-- ここまで --
[開発用サーバの起動]
$ google_appengine/dev_appserver.py app.yaml dispatch.yaml backend.yaml
[デプロイ]
$ google_appengine/appcfg.py update app.yaml backend.yaml
[参考]
http://www.topgate.co.jp/blog/20140715
0 件のコメント:
コメントを投稿