Django Channels / django restframework Отложенное задание
У меня есть django channels projeto для обработки websocket соединений, но некоторые http запросы блокируют приложение, и я получаю эту ошибку:
Экземпляр приложения <Task pending name='Task-3739' coro=<ProtocolTypeRouter.call() выполняется по адресу /usr/local/lib/python3.10/site-packages/channels/routing.py:62> wait_for=<Future pending cb=[shield. _outer_done_callback() at /usr/local/lib/python3.10/asyncio/tasks.py:864, Task.task_wakeup()]>> для соединения <WebRequest at 0x7efc603c8250 method=POST uri=/charger_api/heartbeat/ clientproto=HTTP/1.1> слишком долго закрывался и был убит.
весь потребитель работает асинхронно, а остальная часть приложения django - синхронно
Это мой потребитель
class ChargerSessionConsumer(AsyncJsonWebsocketConsumer):
def __init__(self, *args, **kwargs):
super().__init__(args, kwargs)
self.client_id = None
self.group_name = None
async def connect(self):
self.client_id = self.scope["url_route"]["kwargs"]["client_id"]
await self.channel_layer.group_add(
self.group_name, self.channel_name
)
await self.accept()
async def disconnect(self, close_code):
await self.channel_layer.group_discard(self.group_name, self.channel_name)
raise StopConsumer()
Я пытаюсь поднять stodComsumer в соответствии с документацией, но возникает ошибка