部落客廣告聯播

2011年1月6日 星期四

GAE/J 的servlet request計時器與cron service


在GAE上寫了程式要透過cron服務排程來撈取網頁資料存進data store,
當寫好servlet直接使用瀏覽器觸發servlet url執行, 由於我撈的資料較多處理時間較常,沒想到就出現了exception了。

原來在GAE上的request是有時間限制的,若request進來處理了30秒還沒完成就會被終止並丟出exception,詳閱: http://code.google.com/intl/zh-TW/appengine/docs/java/runtime.html#The_Request_Timer

GAE上的排程乃是經由定義cron.xml讓GAE的cron service在設定的時間點或區間觸發我們servlet程式的URL。

然而好消息是最近新的GAE1.4版,把Cron service的30秒限制拿掉了,也就是說經由Cron觸發的servlet的最大處理時限是10分鐘,太棒啦。(詳見:http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html

另外發現許多的GAE英文文件在中文的文件中是沒有的,比如說像是Task Queue(http://code.google.com/intl/en/appengine/docs/java/taskqueue/),所以看完中文版的官方文件(http://code.google.com/intl/zh-TW/appengine/docs/)後還是要再去逛逛英文版的文件(http://code.google.com/intl/en/appengine/docs/)看看有沒有其他可參考的有用資訊~

另外有個東西讓我搞了很久,就是cron.xml裡面若有中文字可是會Deploy失敗的

沒有留言: