有没有更好的方法来处理从on_message回调队列中接收的消息?

时间:2020-03-02 10:06:55

标签: python multithreading queue paho concurrent.futures

我目前有我的paho-MQTT客户端脚本,带有消息队列和on_message回调函数。

    def on_message(self, client, _, message):
        message = message.payload.decode()
        self.messageQueue.put_nowait(message)


我需要对这些收到的消息进行一些处理(我每3秒在队列中收到12条消息)

我如何安全地处理这些消息?

1 个答案:

答案 0 :(得分:0)

如果您想要一个强大的分布式队列机制,则可以使用python celery来实现,其中您的 on_message 可以充当生产者,将任务放置在代理上。而且,多个工人/消费者将在不同的计算机上运行,​​并消耗代理的任务。

链接:http://docs.celeryproject.org/en/latest/getting-started/introduction.html

希望这会有所帮助!