我想要做的很多工作都涉及我想在託管環境上運行的長時間運行的進程,併爲用戶提供一個Web界面以查看長時間運行的作業的結果。如何設置使用任務隊列和GWT的Google App Engine項目?
我相信谷歌應用程序引擎以其「模塊」功能(https://cloud.google.com/appengine/docs/java/modules/)是一個很好的服務,但我一直在努力弄清楚如何將其設置爲這個目的(見App Engine Modules with GWT,Possible to use Google Modules with Google Plugin for Eclipse?,How use Eclipse to develop Google Modules for Google Cloud?)。有人可能一直在嘗試做同樣的事情(請參閱:how to create gwt gae with app engine modules using google eclipse plugin),但沒有可接受的答案,我在尋找更全面的說明。
有人可以提供一組循序漸進的指令來設置下面的涉及以下項目體系結構的Hello World項目嗎?
要求
- 用戶訪問網頁和類型的作業名稱,例如「Hello World」和他們的電子郵件地址,他們將收到結果。
- Google App Engine然後執行長時間運行的計算(例如10小時,即比標準類型爲「自動」的模塊的10分鐘時限長得多,如https://cloud.google.com/appengine/docs/java/modules/所述)。
- Google App Engine隨後會向用戶發送一封電子郵件,指出「Hello World」計算已完成,並在電子郵件正文中提供結果。
項目架構
- Web前端(理想GWT但提出的任何合適的選擇,因爲在此描述它可能是一個問題:App Engine Modules with GWT)
- 模塊1(縮放類型=自動):通過使用用戶提供的名稱在Google Task Queue上放置作業來響應Web前端請求。該電子郵件地址記錄在Google數據存儲中,主鍵與作業名稱相同(目的是爲了瞭解如何使兩個模塊共享同一個數據存儲;這裏暗指:Serving multiple GAE modules from one development server?,但我希望看到更多詳情)。
- 模塊2(縮放類型=基本縮放):從Google Task Queue中挑選作業,執行長時間運行的計算,並通過電子郵件發送結果。請注意,電子郵件地址是通過使用作業名稱在數據存儲中查找而獲得的。
開發環境
- 谷歌應用程序引擎
- 的Java
- 谷歌模塊(https://cloud.google.com/appengine/docs/java/modules/)
- 谷歌的任務隊列(https://cloud.google.com/appengine/docs/java/config/queue)
- GWT
- 谷歌數據存儲(https://cloud.google.com/datastore/)
- 的Eclipse(麥浚龍)
- 的Maven(通過m2eclipse插件)
- 的Mac
Jarrod,感謝您訪問http://stackoverflow.com/questions/1759387/google-app-engine-task-queue-on-gwt。我正在努力解決的額外複雜問題是如何整合Google模塊,2009年當類似問題被提出時,這些模塊並不存在。 – 2014-10-20 18:00:52