关于延时操作应该用队列还是定时任务?

2018-08-06 15:06:55 +08:00
 DavidNineRoc

2276 次点击
所在节点    问与答
5 条回复
kslr
2018-08-06 16:10:12 +08:00
队列简单好用,分布式和并发都有了,定时自己要做不少东西。
yidinghe
2018-08-06 16:17:01 +08:00
延时队列本质上是把任务暂存在队列服务里面,楼主要考虑运维便利性,如果我要查询 24 小时内有哪些延时操作会触发的话,是否能够一目了然。
DavidNineRoc
2018-08-06 16:36:37 +08:00
@kslr 第一次做这个,没什么经验。所以来请教下。
@yidinghe 现在用的是数据库队列,保存有创建时间是生效时间
passerbytiny
2018-08-06 16:57:27 +08:00
http://blog.jobbole.com/114009/
无分布式的,建议用 HashTimeWheelTimer
分布式情况下,先用 redis,复杂了再用 rabbitmq 方式。

但是你这个三个小时生效,时间间隔长,又规律的(可以认为限制只能整点生效),就没必要延时任务了,直接定时任务没半小时跑一次就行。
DavidNineRoc
2018-08-06 17:43:01 +08:00
@passerbytiny 时间肯定是不规律的,我可以是马上执行,一秒后执行,十个小时候执行。执行之后这个任务就不需要了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477281

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX