Непрерывная загрузка данных даже без подключения к 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