我有一个用Python 2.7编写的长期运行的过程,我希望在生成KML文件时将KML文件异步发送到我的GWT应用程序。
我一直在尝试确定我可以使用哪种Python Web框架作为Python流程的后端,以使Web应用程序可以托管在Google AppEngine上。
我能够使用Cherrypy编写一个简单的python网络服务器,该服务器使用Http请求将JSON使用JSON将kml从后端发送到GWT;但是,我希望在生成文件时将其发送到GWT,因为每个文件之间可能要花费几分钟。有什么相对简单但有效的方法来实现这一目标?(彗星?长轮询?Websocket?)
在研究了更多的python web框架之后,我开始尝试Tornado,因为它是非阻塞的,并且似乎可以返回数据,因为它可能使用了本答案中提到的长轮询生成。但是,GAE似乎需要WSGI,这将使Tornado Web服务器成为非阻塞的。
我已经读过类似问题的答案,例如这个问题。但是,我不确定Web框架,GWT或GAE中的更新是否改变了今天的最佳选择,或者这些答案中的某些是否适用于我的情况。
您会建议我使用哪种Python Web框架通过长轮询或相对简单的方法将数据发送到异步GWT应用程序?我可以将这个Web框架与GAE一起使用,还是需要使用其他东西?
如果我正确理解了问题,则可能不需要任何特殊的框架,就可以用自己拥有的工具来解决它:Tasks API和Channel API。
使用Tasks API,您可以执行长任务,当任务完成时,您会收到通知。您可以将其与Channel API结合使用,以在完成特定任务时将消息直接推送到客户端。
您还可以使用延迟库来简化您的工作,甚至可以将PubNub用于推送通知,因为设置更容易,并且您可以同时拥有多个订阅者。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。