RabbitMQ后台使用者

rqdpfwrv  于 2022-12-23  发布在  RabbitMQ
关注(0)|答案(1)|浏览(170)

是否可以在Python的后台(守护进程)线程中运行RabbitMQ消费者(Pika)?
对于我的用例,我希望一个线程使用消息,主程序执行一些预定的工作。
我尝试在守护进程线程中设置和运行消费者,但如果我的程序退出,我会在RabbitMQ队列日志中收到警告/错误,指出连接突然关闭。我知道我没有关闭在守护进程线程中运行的消费者的连接。
经常引用的example code并不真正适合我的用例,它为使用者收到的每个消息创建一个线程。

mfuanj7w

mfuanj7w1#

是否可以在Python的后台(守护进程)线程中运行RabbitMQ消费者(Pika)?
是的
我尝试在守护进程线程中设置和运行消费者,但如果我的程序退出,我会在RabbitMQ队列日志中收到警告/错误,指出连接突然关闭。我知道我没有关闭在守护进程线程中运行的消费者的连接。
这正是我们所期望的。没有正确关闭连接并不是世界末日。如果你的消费者有未完成的消息没有被确认,它们将被重新排队。
您使用守护进程线程而不是普通线程是否有特定的原因?https://docs.python.org/3/library/threading.html#thread-objects
经常引用的示例代码并不真正适合我的用例,它为消费者接收到的每一条消息创建一个线程。
到目前为止,如果你需要帮助,最有效的方法是提供一个git仓库,让别人可以克隆,运行,然后提供反馈。

**注意:**RabbitMQ团队监控rabbitmq-users邮件列表,仅在StackOverflow上偶尔回答问题。

相关问题