队列问题
注:发布一个活动,由于活动是带有发布时间和结束时间的,所以当到了一段时间内,活动的状态就会改变,比如 活动正在进行中 ,或者 活动已结束;
例子:我发布了一个从明天开始往后延期3天才结束的活动,我把它加入队列, 发布成功之后,活动状态是未开始。
这是我突然发现时间写错了,要3年后结束
问:这个时候能停用之前的队列吗? 如果不停掉活动的状态就会有问题,这时候该怎么处理呀。
如果使用的reids直接根据key删除就好
现在还没有使用redis 使用的是database,这个怎么删啊
当修改成3年后结束时,同样往队列里面加一条
在队列被消费时,再次检测状态是否应当被改变,比如
就队列来说一般都是异步执行,从设计上来看一般不考虑撤回也无法撤回,所以这种情况可以有两种方式吧,
要么加入任务时带有开始时间,判断一下和活动时间不一致就放弃执行,反正任务多执行几次无关紧要。
其实你这种情况需要的是定时器,不是延时队列任务吧,定时器当然是可以撤回的了。