SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Google App Engine for Javaを使ってみよう!

Google App Engine for Javaを使ってみよう!
(7)App Engine Cron Service

Google App Engine for Javaを使ってみよう! (7)

実行する

 これまでの手順で、App Engine Cron Serviceを利用したプログラムが完成しました。ローカルテストではメールの配信ができないので、早速Google App Engineにプログラムをデプロイしてみましょう。

 cron.xmlはデフォルトアプリケーションのものだけが有効になるので、管理コンソールのVersionsから今デプロイしたアプリケーション(ここでは1)を選択して、[Make Default]ボタンを押してデフォルトアプリケーションに設定してください。

 アプリケーションにアクセスすると、入力ボックスに[晴れ]と表示されているので、そのまま[store]ボタンを押してください。

 以下のようなポップアップが出ればOKです。

 1分以上、時間を置いてメールボックスを確認してみてください。「Google App Engineからのメールです」というタイトルのメールが届いていると思います。本文には、「現在のステータスは『晴れ』です。」と書かれています。

メールが届かない場合

 メールが届かない場合は、スパムメールとして処理されていないか確認してください。スパムフォルダに入っていない場合には、MailServlet.javaの中に書かれている「test@example.com」というメールアドレスが自分のメールアドレスに正しく書き換わっているか確認してください。その他のプログラムミスの場合には、Google App Engineの管理コンソールのLogsにエラーログが出ていると思いますので、そちらを確認するとメールが届かない原因が分かると思います。

 続いて、ステータスを変更してみたいと思います。入力ボックスに[雨]と入力して、[store]ボタンを押してみましょう。

 再度、1分以上おいてからメールボックスを確認すると、今度は本文に「現在のステータスは『雨』です。」と書かれたメールが届いていると思います。

 メールを確認したら、App Engine Cron Serviceを停止するために管理コンソールからデフォルトアプリケーションを切り替えるのを忘れないようにしてください。

まとめ

 今回はApp Engine Cron Serviceを勉強しましたが、いかがでしたでしょうか? 今回の記事で、指定した日時にGoogle App Engine上のプログラムを簡単に動作させることができるということが分かっていただけたかと思います。

 今回はサンプルを簡単にするために毎分必ずメールを配信するようにしましたが、メールを配信するときにステータスをDataStoreに保存しておき、ステータスに変化がない場合にはメールを送らないようにするのが一般的なシステムだと思います。

 また、天気のウェブAPIと連動させて、急に天気が変わった時にメールするようなプログラムに改良してみるのも面白いと思いますので、興味のある方は試してみてはいかがでしょうか?

参考資料

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Google App Engine for Javaを使ってみよう!連載記事一覧

もっと読む

この記事の著者

山下 大介(ヤマシタ ダイスケ)

  京都大学を中心とした、産官学共同プロジェクトのSOBAプロジェクトに参加後、同プロジェクトで開発したP2P配信によるVoIP技術を2005年に商業化。オープンソース、VoIP、P2P、クラウドコンピューティングに精通。趣味はGoogleの追っかけ。現在は、株式会社SOBAプロジェクト取締役。ブログ:『~ ミネルヴァの梟は黄昏とともに飛び始める ~』所属:株式会社SOBAプロジェクトGoogle Developer Day 2008サポーター, 2009サポーターGoogle App Engine API Expert

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3918 2009/06/18 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー