簡體   English   中英

RabbitMQ 消費者在后台

[英]RabbitMQ consumer in the background

是否可以在 Python 的后台(守護進程)線程中運行 RabbitMQ 消費者(Pika)?

對於我的用例,我希望一個線程使用消息,而主程序執行一些預定的工作。

我的嘗試是在守護線程中設置和運行消費者,但如果我的程序退出,那么我會在 RabbitMQ 隊列日志中收到警告/錯誤,指出連接突然關閉。 我知道我不會關閉在守護線程中運行的消費者的連接。

經常引用的示例代碼並不真正適合我的用例。 它為消費者收到的每條消息創建一個線程。

是否可以在 Python 的后台(守護進程)線程中運行 RabbitMQ 消費者(Pika)?

是的

我的嘗試是在守護線程中設置和運行消費者,但如果我的程序退出,那么我會在 RabbitMQ 隊列日志中收到警告/錯誤,指出連接突然關閉。 我知道我不會關閉在守護線程中運行的消費者的連接。

這正是預期會發生的事情。 不正確關閉連接並不是世界末日。 如果您的消費者有未確認的未完成消息,它們將被重新排隊。

您使用守護線程而不是普通線程是否有特定原因? https://docs.python.org/3/library/threading.html#thread-objects

經常引用的示例代碼並不真正適合我的用例。 它為消費者收到的每條消息創建一個線程。

如果您目前需要幫助,最有效的方法是提供一個 git 存儲庫,有人可以克隆、運行然后提供反饋。


注意: RabbitMQ 團隊監控rabbitmq-users郵件列表,有時只在 StackOverflow 上回答問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM