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

这是命令:

gunicorn aiohttpdemo_polls:app --bind 127.0.0.1:8080

它返回:
Failed to find application: 'aiohttpdemo_polls'

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

它工作正常。可以从iothttp存储库中的演示应用程序here中找到该代码。
也尝试如下所示:
gunicorn aiohttpdemo_polls.main:app --bind 127.0.0.1:8080

但是它也没有运行服务器。它返回
Failed to find application: 'aiohttpdemo_polls.main'

知道在哪里可以进一步解决该问题吗?

最佳答案

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

关于python - 使用Gunicorn运行aiohttp服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47266296/

10-12 18:10