[讨论] 关于 队列 与 任务计划的选择
现在我们有个这样的场景 在较高并发的情况下, 我们把一些计算逻辑剥离了出来, 然后每一秒
把计算出来的结果扔在redis上, 然后前端直接去取结果, 这样的情况下就有了个选择的问题.
首先因为是活动, 所以不需要所有时间都去触发这个job. 于是我的做法是: 首先创建一个延迟队列 在活动开始前几秒开始工作,然后在job最后面重新dispatch self并设置1S的延迟做到活动期间间隔一秒处理job.
但是这样有几个问题:
delay(now()->addSecond())
但是队列是3秒执行一次而不是一秒.- 这样的使用场景是不是感觉跟任务调度更像?
- 因为有其他队列在跑, 其他队列数量上来会不会影响这个队列的处理?
所以大家觉得该怎么选择?
我觉得可以写一个 artisan 命令,活动开始前,启动任务调度,然后在调度中进行队列操作
@leung0826 恩 有道理