跳转到主要内容

在Django项目中运行基于async aiohttp的路由的实用程序。

项目描述

这是一个概念验证实验,旨在将Django WSGI应用程序与使用aiohttp的异步视图/websocket处理程序相结合。API非常不稳定,不建议将其用于除疯狂实验之外的其他目的。

https://travis-ci.org/mlavin/aiodjango.svg https://codecov.io/github/mlavin/aiodjango/coverage.svg?branch=master

工作原理

aidjango.get_aio_application构建一个应用程序,该应用程序结合了Django请求处理器/视图和aiohttp.web。视图使用正常的Django URL模式语法定义,但任何协程处理器都由应用程序处理,而其余的视图由正常的Django应用程序处理。

内部,它使用了aiohttp-wsgi,该工具在线程池中运行Django WSGI应用程序,以最小化对应用程序异步部分的阻塞。

运行演示

示例项目需要Python 3.4+才能运行。您应该创建一个虚拟环境来安装必要的依赖项

$ 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

这将使用Django内置的runserver的新版本在http://localhost:8000/上启动服务器。对于多进程服务器,您可以使用aiohttp工作器以及Gunicorn运行

(aiodjango) $ gunicorn example.wsgi:app --worker-class aiohttp.worker.GunicornWebWorker --workers 2

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

aiodjango-0.1.0.tar.gz (7.2 kB 查看哈希值)

上传时间

构建分布

aiodjango-0.1.0-py2.py3-none-any.whl (9.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持