队列问题

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
draven

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

4年前 评论

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

4年前 评论
小民爱Laravel

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

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

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

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

4年前 评论

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