Push-сервер с Django / Apache - PullRequest
       10

Push-сервер с Django / Apache

0 голосов
/ 24 ноября 2011

Я пытаюсь использовать push-сообщение с моим приложением Django.Из всех различных решений, которые я видел, django-socketio казалось наиболее простым в реализации, и я запустил его при запуске сервера через manage.py.Однако когда дело доходит до производства, я бы хотел, чтобы его обслуживали через Apache.В прошлом я делал это с помощью wsgi, но django-socketio не очень хорошо работает со стандартным сценарием wsgi.Есть ли что-то простое, что я могу просто изменить в моем django.wsgi, который позволяет apache делать правильные вещи?Если нет, то каков будет предложенный способ справиться с этим?

РЕДАКТИРОВАТЬ: Вот сценарий WSGI, который я обычно использовал (без какого-либо push-сервера), плюс немного более подробного объяснения.

sys.stdout = sys.stderr - это просто перенаправление любых тестовых print операторов в журнал ошибок apache.Проблема в том, что, когда я использую это, я получаю сообщение об ошибке, сообщающее, что request.environ не имеет ключа "socketio" или "DJANGO_SOCKETIO_PORT".Я могу достаточно легко добавить DJANGO_SOCKETIO_PORT (os.environ['DJANGO_SOCKETIO_PORT']="9000"), но из того, что я могу сказать, request.environ['socketio'] настроен на экземпляр SocketIOProtocol где-то во внутренностях django-socketio.Кроме того, после просмотра команды, которую django-socketio добавил в manage.py, я заметил, что она создает экземпляр SocketIOServer и вызывает для него serve_forever, но я понятия не имею, где поместить это в мой код.Надеюсь, это поможет увидеть, что я пытаюсь сделать.

...