首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
华为云
V2EX  ›  问与答

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

  •  
  •   DavidNineRoc · 98 天前 · 560 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 想请教一下,现在在做一个延迟操作的事件。
    • 必须管理员修改了商品的价格,想要在之后的三个小时生效或者现在生效都是允许的。用哪一种方法比较好?
    • 现在暂时想用 laravel 的延时队列,因为以后会有删除操作,不知道是否会有影响。
    • 希望做过这方面的大师教学一下 >_<

    • 顺便问一下,做酒店价格系统用日期好还是区间好,现在用的区间。各有什么劣势?
    5 回复  |  直到 2018-08-06 17:43:01 +08:00
        1
    kslr   98 天前 via Android
    队列简单好用,分布式和并发都有了,定时自己要做不少东西。
        2
    yidinghe   98 天前
    延时队列本质上是把任务暂存在队列服务里面,楼主要考虑运维便利性,如果我要查询 24 小时内有哪些延时操作会触发的话,是否能够一目了然。
        3
    DavidNineRoc   98 天前
    @kslr 第一次做这个,没什么经验。所以来请教下。
    @yidinghe 现在用的是数据库队列,保存有创建时间是生效时间
        4
    passerbytiny   98 天前
    http://blog.jobbole.com/114009/
    无分布式的,建议用 HashTimeWheelTimer
    分布式情况下,先用 redis,复杂了再用 rabbitmq 方式。

    但是你这个三个小时生效,时间间隔长,又规律的(可以认为限制只能整点生效),就没必要延时任务了,直接定时任务没半小时跑一次就行。
        5
    DavidNineRoc   98 天前
    @passerbytiny 时间肯定是不规律的,我可以是马上执行,一秒后执行,十个小时候执行。执行之后这个任务就不需要了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   927 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 23:17 · PVG 07:17 · LAX 15:17 · JFK 18:17
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1