2012-07-26 28 views
0

我有兩個腳本可以在一個隊列中生成消息,其中一個腳本會希望隊列在消息成功確認後生成一條附加消息 - 注意,這不是RPC我希望可以選擇一次第一條消息已成功完成,但在第一條消息已成功處理之前,我無法執行第二輪處理。RabbitMQ - 可選創建其他消息?

有沒有人有這樣做的經驗?我最初的想法是發送額外的參數給最初的消息,確定「下一步」,但這看起來有點駭人聽聞,所以我希望有更好的解決方案。

回答

0

檢查我的回答這個問題: RabbitMQ get message send confirm

這個功能應該讓你做你想要的。

+0

這並不完全是我之後 - 這似乎更多的基於RPC(即提交X和接收Y和做Z) - 我在做X後,並可選擇排隊任務完成後的其他任務(不是必要的一個,例如可以是10)。 – williamvicary 2012-07-27 13:42:15

+0

返回監聽器會告訴生產者(可能與正在發佈的線程不同)已經傳遞消息,那麼你可以做任何你想做的事情。返回監聽器線程需要有一個規則,一旦它接收到並確認了最後一條消息的到來,就決定它想做什麼。 – robthewolf 2012-07-28 00:02:08

+0

不知道我是否解釋得很好,道歉。我可能會有2+腳本,這些腳本會在稍後生成消息以供執行(即,這些腳本可能是用戶腳本,因此不會有「等待」,因爲線程將被停止)。其中一些消息將需要發送到其他腳本以添加進一步的處理,但其可選不是所有消息都需要進一步處理。我更喜歡消費腳本爲其他隊列創建更多消息 - 但是最好的方法是向腳本表明它需要選擇性地傳遞它? – williamvicary 2012-07-29 15:54:07