У меня есть потребитель kafka, который потребляет 5000 данных в секунду. Я получаю данные производителя в этом формате
producer sent data ['UUTO9QJ', (14, 77, 'bike', "{'lat': 14, 'long': 77, 'elevation': 900,
'bearing': 67, 'device': 'bike', 'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1',
'device_id': 'JHVJ5HGJD'}")]
У меня есть следующий код:
@kafkaBus.handle('topic')
def logic_of_data(msg):
# kafkaBus = kafkaBus.run()
print(f" Consumer recivied data {msg}")
# print(ConsumerRecord[7])
l = msg.value
print(l[0])# l[0] holds this values UUTO9QJ
val = tuple(l[1]) # holds this value (13, 77, 'bike', "{'lat': 13, 'long': 77, 'elevation':
# 900, 'bearing': 67, 'device': 'bike', 'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1',
# 'device_id': 'JHVJ5HGJD'}")
print(val, type(val))
datalist.append(val)
print(datalist,len(datalist))
datalist = []
tablefields = ['device_id', 'latitude', 'longitude', 'jsonval']
if len(datalist) == 5000:
print("Threshold reached")
if val := checktableExists(cur, conn, l[0]):
print("started procrssing")
Insertval(cur, l[0], tablefields, datalist, conn)
del datalist[:]
else:
print("create new table")
createtable(cur, conn, l[0])
Insertval(cur, l[0], tablefields, datalist, conn)
del datalist[:]
значение пока 3 записи не будут добавлены правильно на момент печати выписки (datalist, len (datalist))
[(12, 77, 'bike', "{'lat': 12, 'long': 77, 'elevation': 900, 'bearing': 67, 'device':
'bike', 'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1', 'device_id': 'JHVJ5HGJD'}"),
(13, 77, 'bike', "{'lat': 13, 'long': 77, 'elevation': 900, 'bearing': 67, 'device': 'bike',
'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1', 'device_id': 'JHVJ5HGJD'}"), (14, 77,
'bike', "{'lat': 14, 'long': 77, 'elevation': 900, 'bearing': 67, 'device': 'bike',
'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1', 'device_id': 'JHVJ5HGJD'}")]
3
После этого счет становится 1
[(15, 77, 'bike', "{'lat': 15, 'long': 77, 'elevation': 900, 'bearing': 67, 'device':
'bike', 'batt_temp': 99, 'batt_voltage': 11.98, 'type': 'v1', 'device_id': 'JHVJ5HGJD'}")] 1
Я хочу что-то, что дает список с 5000 кортежей значения l [1] в нем. Как это можно сделать