実行する
これまでの手順で、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と連動させて、急に天気が変わった時にメールするようなプログラムに改良してみるのも面白いと思いますので、興味のある方は試してみてはいかがでしょうか?
