我正在NodeJS上编写一个处理CPU绑定任务的服务。主要想法非常简单:
{status: active}
为值问题:如果客户端已停止向服务器询问任务是否仍在运行,我希望使用者停止在步骤4中处理任务。我怎么能用RabbitMQ做到这一点?
P.S。:我试图清除队列但面临一些问题:如果消息未被消费者确认,则不会清除队列。悲伤here,只有在我的CPU绑定任务完成后才会发生这种情况。
答案 0 :(得分:0)
我已经弄明白我的清除消费者的问题,但没有使用RabbitMQ,因为没有找到任何API。
正如this answer中提到的那样,我可以在另一个数据库中检查消费者是否应该继续。所以我也决定使用 redis 来达到这个目的:在工作线程中我检查redis中的相应条目,如果密钥尚未过期。
希望这会对其他人有所帮助。