Доброго времени суток. Есть django + channels, есть задача бесконечной отправки данных в WebSocket. Сейчас это реализовано вот так:
class MyConsumer(AsyncJsonWebsocketConsumer):
@staticmethod
@database_sync_to_async
def _get_objects():
return MyModel.objects.all().order_by('smb_user')
async def connect(self) -> None:
user: any = self.scope['user']
if user.is_staff:
await self.accept()
while True:
data: any = await self._get_objects()
data = MyViewSet.serializer_class(data, many=True).data
await self.send_json(data)
await asyncio.sleep(1)