【发布时间】:2018-06-18 03:29:49
【问题描述】:
队列有没有办法等到任务/消息/项目完成处理后再将下一个任务/消息/项目发送给另一个消费者? 这是我想要完成的场景:
- 三个消费者(cons_A、cons_B、cons_C)订阅一个队列(task_queue)
- 当发布者将任务添加到“task_queue”时,队列会发送(或其中一个消费者订阅)到任务(假设 cons_B 订阅)。
- 当另一个任务添加到“task_queue”时,队列会阻止其他消费者订阅,直到正在进行的消费完成(直到 cons_B 响应完成,无论其成功与否都无关紧要)。
队列/交换等待正在进行的任务完成,然后让另一个消费者订阅下一个任务。
我正在考虑将队列大小设置为“1”,并在消费者订阅时等待确认任务完成。但这似乎不是最好的方法,因为在消费期间添加的任务会被拒绝。
在 RabbitMQ 中可以这样做吗?
【问题讨论】:
标签: rabbitmq rabbitmq-exchange