我不想使用tornado / node.js / twisted,并希望将gunicorn WSGI服务器与gevent worker :)一起使用。我希望保持这种轻量级,不想添加更多服务。
我有一个django应用程序,其中堆栈是redis,RQ& gunicorn(工人是gevent)。我想使用websockets来实现推送。我想按原样使用应用程序,直到有'/ websocket'请求进入时,我想使用websockets。
我想要做的是在烧瓶in the following way中完成:
def my_app(environ, start_response):
path = environ["PATH_INFO"]
if path == "/":
return app(environ, start_response)
elif path == "/websocket":
handle_websocket(environ["wsgi.websocket"])
else:
return app(environ, start_response)
我如何在django中执行此操作?这是我的wsgi.py:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dapi.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
为了做这样的事情,我是否必须覆盖WSGIHandler()
?我要感谢一个例子。我想让基本的http服务器(通过python manage runserver
)运行。