Python / Django / channel.exception.ChannelFull () ошибка - PullRequest
0 голосов
/ 03 октября 2019

Мы постоянно получаем ошибку channel.exception.ChannelFull () при запуске нашей настройки.

Трассировка

Наша установка состоит из:

  • Серверный компьютер
  • Клиентский компьютер

Клиент подключается к серверу через веб-сокет. Он отправляет и получает на сервер по этой ссылке.

Сервер запускает Django с Redis (channel-redis) и Channels2 в режиме ASGI.

Когда клиент подключается, specific.channel_id сохраняется в нашей базе данных. Когда клиент отключается, он удаляется из нашей базы данных.

Мы запускаем задание BackgroundScheduler с 5-секундными интервалами. Это задание получает клиентов в БД и отправляет каждому (через specific.channel_id) сообщение. Клиент получает это сообщение через websocket, обрабатывает его и отправляет запрошенные данные обратно на сервер, где они обрабатываются через WebsocketConsumer.

При разработке мы проводили короткие тесты (<2 мин). Только позже, когда мы выполняли более длительные тесты (более 2 минут), мы начали сталкиваться с этой ошибкой. </p>

Что мы могли пропустить?

...