Python 从Paho MQTT发送到云时缺少一些数据
我正在尝试将大约500个标记的数据(每秒更改数据)从Paho MQTT发送到云。最初接收所有数据,但一段时间后开始丢失样本Python 从Paho MQTT发送到云时缺少一些数据,python,mqtt,paho,Python,Mqtt,Paho,我正在尝试将大约500个标记的数据(每秒更改数据)从Paho MQTT发送到云。最初接收所有数据,但一段时间后开始丢失样本 尝试更改“保持活动时间” 检查Wireshark以监控流量 我代码的一部分 def queue_consumer(queue): global TestCount global responseList while True: TestCount=0 for items in range(0, queue.qsi
- 尝试更改“保持活动时间”
- 检查Wireshark以监控流量
def queue_consumer(queue):
global TestCount
global responseList
while True:
TestCount=0
for items in range(0, queue.qsize()):
responseList.append(queue.get_nowait())
queue.task_done()
item1="topicName"
if item1 is None:
print("BREAKKK")
break
else:
mqttmessage1 = json.dumps(responseList)
objClient = ConnectionClient()
objClient.client.publish("topicName", mqttmessage1 , qos=1)
responseList=[]
del objClient
time.sleep(1) # time after which the next items in queue
# would be processed for publishing
我希望所有数据都以时间戳发布到云上。不清楚您的
ConnectionClient()
是否在主循环中每次打开和关闭一个连接。但是,每次(通过del objClient
)都会关闭连接。如果是这样,我建议您在启动时创建一个mqtt.Client
,并连接到服务。然后,每次运行主循环时,都会发送消息,直到程序退出,才关闭连接
您还可以检查服务提供商是否未应用某些限制。除非您为服务付费,否则每秒500个主题似乎相当多。在粘贴Python代码时请小心。在阅读Python时,缩进非常重要。另请参见,它不是500个主题。它只有一个主题,即发送大小约为27k-28k的mqtt消息。每秒500个tags.mqtt消息看起来像[{“values”:{“tag1”:118.0},“ts”:156274950425},{“values”:{“tag2”:118.0},“ts”:156274950425},{“values”:{“tag3”:118.0},“ts”:156274954}]