gpt4 book ai didi

node.js - 如何取消队列中的特定作业?

转载 作者:可可西里 更新时间:2023-11-01 11:24:11 26 4
gpt4 key购买 nike

我正在使用 RabbitMQ 构建作业队列。

假设有一项名为 DO_SOMETHING 的工作在不久的将来对 { item: 'A'} 执行。

我的队列将有如下作业:

[DO_SOMETHING { item: 'B' }, DO_SOMETHING { item: 'A' }, DO_SOMETHING { item: 'C' }] 

假设发生了一些事情,不再需要 DO_SOMETHING { item: 'A' }

有没有办法从排队的作业中有选择地取消/删除它,或者我应该只使用 Redis 之类的东西?

最佳答案

不能说“没有这样的工具”,因为我可能会弄错,但 RabbitMQ 队列是 FIFO,所以你总是从头开始消费 - 按照作业的顺序。

最简单的解决方案是在使用作业后检查给定作业是否已被取消,并向 Rabbit 确认该作业已处理。

您可以使用外部机制来过滤已删除的作业,但这可能需要一些同步和其他需要担心的事情。

关于node.js - 如何取消队列中的特定作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52846279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com