使用gunicorn运行aiohttp服务器

时间:2017-11-13 14:11:37

标签: python python-3.x gunicorn aiohttp

我正在尝试使用Gunicorn运行基于aiohttp的服务器。

这是命令:

gunicorn aiohttpdemo_polls:app --bind 127.0.0.1:8080

它返回:

Failed to find application: 'aiohttpdemo_polls' 

但是当我使用python -m运行它时,如下所示:

python -m aiohttpdemo_polls

工作正常。代码可以从here找到,这是aiohttp repo中的演示应用程序。 也尝试过如下:

gunicorn aiohttpdemo_polls.main:app --bind 127.0.0.1:8080

但它也没有运行服务器。它返回

Failed to find application: 'aiohttpdemo_polls.main'

知道在哪里进一步寻找解决问题的方法吗?

2 个答案:

答案 0 :(得分:2)

aiohttp 3.1支持coroutine as application factory,例如:

async def my_web_app():
    app = web.Application()
    app.router.add_get('/', index)
    return app
aiohttpdemo_polls的

Current implementation使用这种方法。它可以用

开头
gunicorn aiohttpdemo_polls.main:init_app --bind localhost:8080 --worker-class aiohttp.GunicornWebWorker

答案 1 :(得分:1)

该演示版还不支持gunicorn。

我提出了一个问题:https://github.com/aio-libs/aiohttp-demos/issues/10

感谢您的举报。