Отправка уведомлений из приложения Django с помощью одного серверного процесса

У меня есть приложение Django, обслуживаемое Gunicorn. Я хочу добавить к нему уведомления WebSocket, используя PostgreSQL в качестве очереди сообщений и либо gevent-socketio, либо tornadio в качестве сервера WebSocket.

Можно ли использовать тот же процесс Gunicorn для обслуживания WebSockets? Или, скорее, мне нужен другой процесс, выполняющий SocketIOServer gevent или SocketServer tornadio?


person Dor    schedule 29.04.2014    source источник


Ответы (1)


Да, вы можете, например, использовать gevent-socketio с Django. и запускать только один процесс для всех запросов. По умолчанию запросы socket-io отправляются на /socket.io/ — вы даже можете использовать те же URL-адреса для запросов socketio, что и для других, но имеет смысл хранить их в подпути (например, для конфигураций прокси).

Но, тем не менее, может иметь смысл иметь отдельный процесс для обслуживания обычных HTTP-запросов (например, некоторая простая балансировка нагрузки и т. д.).

person Bernhard Vallant    schedule 29.04.2014
comment
А для Gunicorn никакой специальной настройки не потребуется? - person Dor; 30.04.2014