Thi*_*ter 16
看看Django/Comet(推送):所有邪恶中最少的?或者彗星在Python中的最新推荐? - COMET是"ajax long-polling"的另一个名称.
显然,最常见的方法不是直接在django中进行,而是在另外一个守护进程的帮助下(可能是因为例如Apache在很多长期连接中表现不佳).现在nodejs + socketio非常受欢迎(它甚至可以使用WebSockets) - 你只需要找到一种很好的方法来在两者之间传递数据.如果它是单向的(例如,只是广播到所有连接的客户端),redis pubsub队列对此不是一个糟糕的选择.
但是http://code.google.com/p/django-orbited/可能是最好的解决方案.
对于未来的读者:)
我使用Gevent创建了一个简单的长轮询django类视图,你可以在https://github.com/tbarbugli/django_longpolling上的github上找到它,或者从pypi获取它(django_longpolling)
编辑:我用django长轮询/异步工作做了一些进一步的实验/部署,我可以说如果可能选择外部守护进程是一个非常好的选择,特别是如果你使用db(当使用异步工作器时你需要一个数据库连接池或您将具有绑定到数据库连接限制的工作者连接数量,这是不可取的.)
归档时间: |
|
查看次数: |
15178 次 |
最近记录: |