Запуск сервера 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
Спасибо за сообщение.