2009年12月28日月曜日

GAE/Jの"spin-down"対策(改)

スズキです。

以前、"cron"で定期的に"/"アクセスするようにしていたのですが、
http://blog.suz-lab.com/2009/12/gaejspin-down.html
以下のように、変更しました。

まず、1分毎に定期的に"/cron/keep_alive.html"にアクセスするようにしています。

--------【cron.xml】--------
...
<cron>
  <url>/cron/keep_alive.html</url>
  <description>Keep Alive</description>
  <schedule>every 1 minutes</schedule>
</cron>
...
--------
http://code.google.com/p/suz-lab-gae/source/browse/trunk/suz-lab-apps/war/WEB-INF/cron.xml?r=66

"keep_alive.html"はこんな感じです。

--------【Velocity】--------
#set($layout="other/cron/layout.html")
cron
--------
http://code.google.com/p/suz-lab-gae/source/browse/trunk/suz-lab-apps/war/WEB-INF/vm/page/other/cron/keep_alive.html?r=67
http://code.google.com/p/suz-lab-gae/source/browse/trunk/suz-lab-apps/war/WEB-INF/vm/page/other/cron/layout.html?r=67

本当はもっと実行時の情報を出力するようにしたいのですが...

あと、/cron/*に関しては、下記のようなセキュリティ設定をしています。

--------【web.xml】--------
...
<security-constraint>
  <web-resource-collection>
    <web-resource-name>cron</web-resource-name>
    <url-pattern>/cron/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>admin</role-name>
  </auth-constraint>
</security-constraint>
...
--------
http://code.google.com/p/suz-lab-gae/source/browse/trunk/suz-lab-apps/war/WEB-INF/web.xml?r=69

"Task Queue"も同じような感じでやろう。

--------
http://www.suz-lab.com

0 コメント: