Запуск сервера aiohttp с помощью gunicorn

Я пытаюсь запустить сервер на основе aiohttp, используя Gunicorn.

Вот команда:

gunicorn aiohttpdemo_polls:app --bind 127.0.0.1:8080

Возвращает:

Failed to find application: 'aiohttpdemo_polls' 

Но когда я запускаю его, используя python -m, как показано ниже:

python -m aiohttpdemo_polls

Работает нормально. Код можно найти здесь, который является демонстрационным приложением в репозитории aiohttp. Также попробовал это как ниже:

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

Но его также не работает сервер. Возвращается

Failed to find application: 'aiohttpdemo_polls.main'

Есть идеи, где искать решение проблемы?

2 ответа

aiohttp 3.1 поддерживает сопрограмму как фабрику приложений, такую ​​как:

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

Текущая реализация aiohttpdemo_polls использует этот подход. Можно начать с

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

Демо пока не поддерживает gunicorn.

Я подал вопрос: https://github.com/aio-libs/aiohttp-demos/issues/10

Спасибо за сообщение.

Другие вопросы по тегам