Каналы замедляют работу приложения и создают много ошибок HTTP 500

Я использую channels для того, чтобы сообщить фронтенду моего приложения о необходимости принудительного обновления страницы. Что я обнаружил, так это то, что теперь в режиме отладки он работает намного медленнее, а также у меня куча HTTP 500 в моей веб-консоли.

Иногда в итоге я получаю:

ERROR:daphne.server:Exception inside application: Single thread executor already being used, would deadlock
Traceback (most recent call last):
  File "...\venv\lib\site-packages\channels\staticfiles.py", line 40, in __call__
    return await self.staticfiles_handler_class()(
  File "...\venv\lib\site-packages\channels\staticfiles.py", line 56, in __call__
    return await super().__call__(scope, receive, send)
  File "...\venv\lib\site-packages\channels\http.py", line 198, in __call__
    await self.handle(scope, async_to_sync(send), body_stream)
  File "...\venv\lib\site-packages\asgiref\sync.py", line 382, in __call__
    raise RuntimeError(
RuntimeError: Single thread executor already being used, would deadlock

Кроме того, все ошибки HTTP 500 - это обычно какие-то ресурсы, которые не могут быть загружены - иконки и другие статические файлы. Загрузка страницы может длиться вечно, но я помню, что некоторое время она работала просто отлично. Я использую django-eventstream для создания своих каналов.

Как мне выяснить, что меня замедляет, или как я могу это предотвратить? Является ли моя проблема (возможно) похожей на эту: Django and Channels and ASGI Thread Problem?

Вернуться на верх