在django项目上下文中运行基于异步aiohttp路由的实用程序。
aiodjango的Python项目详细描述
这是将django wsgi应用程序与 使用aiohttp异步视图/websocket处理程序。api非常不稳定 我不建议你用这段代码 疯狂的实验。
工作原理
aidjango.get_aio_application构建一个将两者结合在一起的应用程序 来自django和aiohttp.web的请求处理程序/视图。 视图是使用正常的django url模式语法定义的,但是 作为协同程序的任何处理程序都由aiohttp应用程序处理 而其余的视图则由普通的django应用程序处理。
内部使用aiohttp-wsgi 它在线程池中运行django wsgi应用程序,以最小化对异步的阻塞。 部分应用程序。
运行演示
示例项目需要运行Python3.4+。你应该创建一个virtualenv 安装必要的要求:
$ git clone https://github.com/mlavin/aiodjango.git $ cd aiodjango/ $ mkvirtualenv aiodjango -p `which python3.4` (aiodjango) $ add2virtualenv . (aiodjango) $ cd example (aiodjango) $ pip install -r requirements.txt (aiodjango) $ python manage.py migrate (aiodjango) $ python manage.py runserver
这将在http://localhost:8000/上用django的新版本启动服务器 内置运行服务器。对于多进程服务器,可以使用 aiohttp工人和gunicorn:
(aiodjango) $ gunicorn example.wsgi:app --worker-class aiohttp.worker.GunicornWebWorker --workers 2