Непрерывная загрузка данных даже без подключения к WebSocket

Итак, у меня есть данные, которые необходимо загрузить до подключения. Возможно ли подготовить данные до того, как будет принято соединение? Чтобы данные непрерывно отправлялись, даже если нет соединения

это мой consumer.py

from . import eventhubreader
class GraphConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        event = eventhubreader.EventReader()
        async def cb(partition, events):
            data = events[len(events)-1]
            await self.send(json.dumps({'value': data.body_as_json()}))
            print(data.body_as_json())
        await self.accept()
        while True:
            await eventHubReader.startReadMessage(iotconfig['connection_string'],iotconfig['consumer_group'],cb)

это startReadMessage

class EventReader:
    def __init__(self):
        data:str
        
        pass

    async def startReadMessage(self,iot_string,consumer,cb):
        
        eventHubString = self.iotConnToEventConvert(iot_string)

        consumerClient = EventHubConsumerClient.from_connection_string(eventHubString, consumer)

        async with consumerClient:
            try:
                await consumerClient.receive_batch(cb,  starting_position="-1")
            except Exception as e:
                print(e)

            
    async def runIot(self,iot_string,consumer,cb):

        while True:
           
            await self.startReadMessage(iot_string,consumer,cb)
       

это данные

  def generateMockData(self,event):
        data = {}
        now = datetime.now()
        print(now)
        data["temperature"]  = random.randint(23,25)
        data["tss"]  = random.randint(5,8)
        data["vss"]  = random.randint(1,4)
        data["bod"]  = random.randint(1,7)
        data["doc"]  = random.randint(8,13)
        data["cod"]  = random.randint(5,12)
        data["ph"]  = random.randint(2,13)
        data["turbidity"]  = random.randint(1,5)
        data["conductivity"]  = random.randint(1,7)
        data['datetime'] = now.strftime("%d/%m/%Y %H:%M:%S")
        return data
Вернуться на верх