【发布时间】:2016-12-21 03:40:36
【问题描述】:
我是 web 和 mqtt 编程的菜鸟,我正在开发一个使用 mqtt(通过 hivemq 或 rabbitmq 代理)的 python 应用程序,并且还需要为客户端实现 http rest api。
我意识到使用 python Bottle 框架很容易提供一个简单的 http 服务器,但是 Bottle 和 mqtt 都有它们的事件循环,我如何结合这两个事件循环,我想要一个单线程应用程序以避免复杂性。
【问题讨论】:
-
你可能不知道。你到底想达到什么目的,我们需要更多细节
-
为您提供更多详细信息,客户端通过 http/rest 连接到此服务,但此服务通过 mqtt 与后端的许多其他服务交互。所以这个服务必须运行 mqtt 循环(使用 paho python 客户端)并提供它使用瓶子的 http 请求,因此它必须运行瓶子的运行循环。这可以在 2 个不同的线程中完成,我的问题是有没有办法将这些组合到 1 个线程中?您是否建议使用 2 个线程更好/唯一的出路?
-
我的意思更多的是什么是 MQTT 交互,是请求/响应吗?
-
MQTT 交互是完全异步的,发布/订阅,此服务从不阻塞 MQTT 响应。
标签: python rabbitmq mqtt bottle hivemq