可以使用AngularJS + Flask堆栈推送通知吗?

nic*_*ine 7 python push-notification flask angularjs

我的网站有一个Python/Flask后端和一个Angular前端.在后端有一个进程偶尔检查SQS的消息,我希望它向客户端发送通知,然后客户端可以更新Angular控制器.我现有技术的最佳方法是什么?

Jay*_*ehr 7

为了能够推送到客户端,您必须以某种方式实现Web套接字支持.如果你想将它保存在python/flask中,那么有关于如何使用gevent执行此操作的教程:

http://www.socketubs.org/2012/10/28/Websocket_with_flask_and_gevent.html

在那篇文章中,Geoffrey还提到了一个用于python/gevent的SocketIO兼容库,它可以让你利用名为"gevent-socketio"的SocketIO客户端JS库.

这可能会减少您在跨浏览器兼容性方面需要做多少工作,因为SocketIO已经完成了很多工作.

这是一个非常好的教程,介绍如何在AngularJS中使用SocketIO,以便在SocketIO发生事件时通知AngularJS模型:

http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets/

如果您不想托管Web套接字后端,可以查看PubNub或Pusher等托管服务,然后将它们作为服务集成到AngularJS中.您可以通过Python应用程序与这些服务进行通信(当SQS通知发生时),他们将为您通知所有连接的客户端.