Django有办法打开HTTP长轮询连接吗?
保持连接打开,直到发生事件。
解决方案
看看Django / Comet(推送):所有邪恶中最少的?或者彗星在Python中的最新推荐? - COMET是“ajax long-polling”的另一个名称。
显然,最常见的方法不是直接在django中进行,而是在另外一个守护进程的帮助下(可能是因为例如Apache在很多长期连接中表现不佳)。现在nodejs + socketio非常受欢迎(它甚至可以使用WebSockets) - 你只需要找到一种很好的方法来在两者之间传递数据。如果它是单向的(例如,只是广播到所有连接的客户端),redis pubsub队列对此不是一个糟糕的选择。
但是http://code.google.com/p/django-orbited/可能是最好的解决方案。
本文首发于Python黑洞网,博客园同步跟新