Python 从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

我正在尝试将大约500个标记的数据(每秒更改数据)从Paho MQTT发送到云。最初接收所有数据,但一段时间后开始丢失样本

  • 尝试更改“保持活动时间”
  • 检查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}]