Мне интересно, как лучше всего развернуть его, особенно в отношении WSGI.
Я пробовал использовать сервер WSGI с необработанными событиями (
Код: Выделить всё
eventlet.wsgi.server(eventlet.listen(("", 8000)), application)). Затем я запускаю его с помощью python Manage.py runserverЭто сработало нормально, но я не уверен, насколько он масштабируем.
Похоже, что стандартный стек — это Django + Gunicorn + NGINX. Судя по документации python-socketio, это должно быть возможно. Я пробовал django + eventlet + gunicorn, но похоже, что Gunicorn а) не очень хорошо работает с eventlet и б) поддерживает только одного работника. Gevent + Gunicorn не имеет этой ошибки, но по-прежнему поддерживает только одного работника. Кроме того, я не уверен, насколько активно поддерживается gevent. Поэтому я не уверен, насколько масштабируема Gunicorn + eventlet или Gunicorn + geventlet в качестве сервера WSGI. Поэтому я не уверен, что Gunicorn — мой лучший выбор, или он слишком ограничен.
Итак, TL;DR а) какой масштабируемый стек вы успешно использовали для развертывания Django + python-socketio и б) если это все еще Django + Gunicorn + NGINX, как мне настроить свой WSGI-сервер для хорошей работы с Gunicorn.
Подробнее здесь: https://stackoverflow.com/questions/762 ... n-socketio
Мобильная версия