我想要做的很多工作都涉及我想在托管环境上运行的长时间运行的进程,并为用户提供一个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