workerman redis-queue 取消延时任务中的某一个怎么操作

Gin

workerman redis-queue 取消延时任务中的某一个怎么操作

1258 2 1
2个回答

six

每个任务里加一个唯一id字段,如果删除某个任务就在redis记录下这个id,消费任务的时候读下redis看下当前id对应的任务是否已经取消,如果取消就直接return,这样这条消息就不会被真正消费,就忽略或者说取消了

  • Gin 2022-06-30

    明白了,谢谢

2548a

我不知道你的具体场景,类似这种我都是这样处理的,
例如,创建订单的时候.添加一个15分钟后队列,传递订单id过去,然后队列里面是直接查询数据库,判断订单状态是否已支付,未支付就取消,已支付直接忽略 .
而不是像你这种在支付之后去考虑怎么取消那个队列,这种处理起来复杂,修改维护也麻烦.

  • Gin 2022-06-30

    瓦嘎达,阿里嘎多

年代过于久远,无法发表回答
🔝