队列问题

注:发布一个活动,由于活动是带有发布时间和结束时间的,所以当到了一段时间内,活动的状态就会改变,比如 活动正在进行中 ,或者 活动已结束;
例子:我发布了一个从明天开始往后延期3天才结束的活动,我把它加入队列, 发布成功之后,活动状态是未开始。
这是我突然发现时间写错了,要3年后结束
问:这个时候能停用之前的队列吗? 如果不停掉活动的状态就会有问题,这时候该怎么处理呀。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4
draven

如果使用的reids直接根据key删除就好

4年前 评论

现在还没有使用redis 使用的是database,这个怎么删啊

4年前 评论
小民爱Laravel

当修改成3年后结束时,同样往队列里面加一条

在队列被消费时,再次检测状态是否应当被改变,比如

if (时间满足) {
    // 改变状态
}
4年前 评论
Wen369367988 (楼主) 4年前

就队列来说一般都是异步执行,从设计上来看一般不考虑撤回也无法撤回,所以这种情况可以有两种方式吧,
要么加入任务时带有开始时间,判断一下和活动时间不一致就放弃执行,反正任务多执行几次无关紧要。
其实你这种情况需要的是定时器,不是延时队列任务吧,定时器当然是可以撤回的了。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!