Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2014 09:40:52

alexandre1
От:
Зарегистрирован: 2008-07-21
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

uwsgi и gevent

Понадобилось написать небольшой чат, первое что пришло в голову это websocket. Для этого выбрал gevent. И библиотеку gevent-socketio.
Там есть довольно неплохие примеры, https://github.com/abourget/gevent-socketio/tree/master/examples/simple_chat первый же простой пример сразу и заработал, понадобилось только

var socket = io.connect(); заменить на var socket = io.connect('http://0.0.0.0:8080/');

Адрес взял отсюда
 SocketIOServer(('0.0.0.0', 8088), Application(), resource="socket.io").serve_forever()

Но после этого я захотел встроить это все в фреймворк чтоб не запускать отдельно файл с сервером.
И вроде это можно сделать через uWSGI http://uwsgi-docs.readthedocs.org/en/latest/Gevent.html. Достаточно в конфиге прописать
gevent = 100
Но какой адрес тогда прописывать
var socket = io.connect();
чтоб все заработало?

И вообще у кого то получилось через uWSGI запускать gevent ?



Отредактировано alexandre1 (Март 23, 2014 09:42:58)

Офлайн

#2 Март 23, 2014 18:54:08

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

uwsgi и gevent

alexandre1
И вроде это можно сделать через uWSGI
зачем?
- лишняя прослойка к веб-серверу (nginx)
- похоже нужно переделывать специально под uwsgi, и возможно в socket.io это не предусмотрено
- нельзя запустить основной сайт в этом же uwsgi


Я делаю в nginx для gevent-приложения отдельный линк /chat, и на выходе он нормально работает на том же порту что и основной сайт.

Офлайн

#3 Март 23, 2014 19:08:07

alexandre1
От:
Зарегистрирован: 2008-07-21
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

uwsgi и gevent

Ну мне просто не хочется запускать постоянно еще один файл, и собственно следить за тем чтоб он был запущен.
В котором запускаестя сервер.

 SocketIOServer(('0.0.0.0', 8088), Application(), resource="socket.io").serve_forever()
Как то можно обойти постоянный запуск из консоли SocketIOServer?



Офлайн

#4 Март 23, 2014 23:58:41

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

uwsgi и gevent

У меня прописан в кроне на перезагрузку @reboot и все. Процесс не падает, работает как часы.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version