В какой-то момент сервер приложений перестает работать.WS-клиенты пытаются подключиться, но не могут.В лог-файле есть трассировки, что клиент отключен до того, как соединение будет принято.Сервер останавливает даже простые запросы HTTP (без каких-либо трассировок в лог-файле).
У меня есть приложение каналов для работы с o7sock.js (https://github.com/Z-Wave-Me/O7) с одной стороны и REST Framework (DRF)с другой стороны. Все работает хорошо в течение некоторого времени. Я вижу ping / pong в лог-файле и отчеты от ws-клиентов. Я также могу делать вызовы REST против API.
В какой-то момент клиенты сразу отключаются. Похоже, что были сообщения ping / pong и следующий запрос ping заканчивается трассировкой, потому что клиент отключен. После этого остаются только запросы на подключение от ws-клиентов, которые отключаются до того, как соединение принято. Интерфейс HTTP / RESTв данный момент недоступно.
Единственный способ справиться с этим на данный момент - перезапустить серверную программу ASGI. Я пробовал daphne и uvicorn - у обоих есть эта проблема.
У моего приложения естьодин WebsocketConsumer (синхронный) для работы с WS-клиентами. У меня также есть несколько других SyncConsumers, которые работают в рабочемпроцессы.
Основная проблема заключается в том, что время сбоя не является регулярным, поэтому я не могу понять основную причину проблемы.Также похоже, что рабочие процессы не затронуты, потому что мне нужно перезапустить только сервер ASGI, чтобы приложение работало.
Я хочу иметь WS-сервер с долгоживущими клиентами.Сервер должен работать с моделями django и предоставлять REST API для внешних сервисов (мобильное приложение).Теперь у меня есть сервер, который работает в течение некоторого времени, но может выйти из строя в любое время без какой-либо причины.
Забыл упомянуть, что я использую почти последние версии библиотек и фреймворков, доступных через pip.