Ter*_*ott 18 python django comet gevent
经过大量搜索和谷歌搜索后,我回到了井边.我有Django 1.4,我正在寻找一个体面的工作示例来弄清楚让Django与gevent一起工作.我喜欢Django框架,但我需要它来处理长轮询.我已经有一个使用gevent的工作服务器,它可以处理长轮询请求,也可以通过http以大约10帧/秒的速度进行图像流传输.我想使用Django中的所有好东西为这部分提供框架.
有很多例子,但不幸的是,这些都没有开箱即用!有一个工作的例子可以帮助理解这两件事如何协同工作.
这是我到目前为止发现的问题和问题:
http://codysoyland.com/2011/feb/6/evented-django-part-one-socketio-and-gevent/ 问题:ImportError:无法导入设置'webchat.settings'(是否在sys.path上?) :没有名为webchat.settings的模块
https://github.com/codysoyland/django-socketio-example/blob/master/README.rst 问题:安装失败,获得gevent权限问题尝试手动从git hub获取它.该示例运行,但在浏览器连接时会生成这些错误.
这些是提供信息但不提供基本答案. 需要帮助了解Python中的Comet(使用Django) https://bitbucket.org/denis/gevent/src/tip/examples/webchat/chat/views.py http://blog.gevent.org/2009/10/10 /简单的长轮询与-的Django和GEVENT /
我希望有人可以解释(请,非常请....)是这样的:我有一个使用Django 1.4创建的基本网站 - 这里的教程https://docs.djangoproject.com/en/1.4/intro/tutorial01/很棒.所以现在我需要了解要使用gevent进行哪些更改以及能够处理异步事件.我确信这并不困难 - 我只需要一个了解它的人来解释做什么以及发生了什么(有关像monkey_patch这样的事情).
谢谢.
Dav*_*ver 22
这是我用gevent + monkey补丁运行Django的方法:
我修改manage.py
了第一行(在shebang之后)from gevent import monkey; monkey.patch_all()
我添加了一个新run_production_server
脚本(见下文).
最后,我已经将我的前端Web服务器配置为代理端口请求1234
(run_production_server
正在侦听的端口).
from gevent import monkey; monkey.patch_all()
from gevent.wsgi import WSGIServer
from django.core.management import setup_environ
import settings
setup_environ(settings)
from django.core.handlers.wsgi import WSGIHandler as DjangoWSGIApp
application = DjangoWSGIApp()
server = WSGIServer(("127.0.0.1", 1234), application)
print "Starting server on http://127.0.0.1:1234"
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
有些人可能会抱怨这台服务器不够"网络规模".我怀疑他们是否能够提供基准来证明这一点,但是如果你担心你也可以使用gunicorn
或uwsgi
用于你的服务器.但这对我来说很好.
归档时间: |
|
查看次数: |
10969 次 |
最近记录: |