前回までのプログラミング学習コラムに続き4回目の勉強内容です。
こんにちは、ぴかしです。前回は、Twitter Botの基本的な機能を作成しました。
今回はいよいよ、このBotをGAEにのせ、一定時間ごとに自動投稿させてみようと思います!実行環境はMac OS X、Python2.6系です。
GAEの環境設定・アプリケーション登録
- まず、GAEのページから、利用登録を行なって下さい。
- 次に、SDK for Pythonをダウンロードし、インストールします。
これで環境は整いました。では、今回動かすアプリケーションを登録してみましょう。Application OverviewのCreate Applicationをクリックし、情報を登録して下さい。ここでは、以下のように登録しました。
設定ファイルの作成
Botを動かすには、以下の2つのyamlファイルが必要になります。
・app.yaml
アプリケーションの設定ファイルです。詳しい書き方はアプリケーション設定ページを参考にして下さい。
application: haisyakowakunai # 先程登録したApplication ID version: 1 runtime: python api_version: 1 handlers: - url: /post_tweet.* script: post_tweet.py login: admin
・cron.yaml
一定時間ごとにプログラムを自動実行してもらうためのファイルです。ここでは、2時間に1回実行するように設定しています。
cron: - description: post_tweet url: /main.* schedule: every 2 hours
これら2つのファイルを、前回作成したpost_tweet.pyと同じ階層に置いてください。
現在、以下の様な構造になっていればOKです。
haisyakowakunai ├── httplib2/ ├── oauth2/ ├── simplejson-3.3.0/ ├── twitter.py ├── post_tweet.py ├── app.yaml └── cron.yaml
これで、ファイルをアップロードする準備が整いました。
ファイルのアップロード
まず、ファイルをアップロードする前に、開発用Webサーバで実行してみます。以下のコマンドをサーバを起動してみて下さい。
dev_appserver.py haisyakowakunai
そして起動した状態で、http://localhost:8080/post_tweet.py にアクセスしてみましょう。何も表示されていなければ、プログラムがうまく実行されています。作成したアカウントから記事が投稿されていると思います。ではいよいよ、本番環境にファイルをアップロードしてみましょう。以下のコマンドでアップロードできます。
appcfg.py update haisyakowakunai
これで完成です!2時間おきに記事が投稿されます。アプリケーション管理ページからログなどを見ることができます。
今回までのことを活かして、ぜひおもしろい機能をもったBotを作成してみてはいかがでしょうか?次回は、GAEのデータストア(一般のWebアプリケーションでいうデータベース)を利用する方法を解説します。ご期待ください。