[英]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.