zuicaidenage
V2EX  ›  Java

请教一下 Java 指定时间调用方法怎么实现呢

  •  
  •   zuicaidenage · Sep 17, 2018 · 4391 views
    This topic created in 2969 days ago, the information mentioned may be changed or developed.

    比如说创建一个直播记录入库,设置今天下午 5 点开始,我要在 4:50 推送消息给用户直播 10 分钟后开始,除了定时任务扫表还有啥办法不?

    Supplement 1  ·  Sep 18, 2018
    感谢各位的解答,由于项目比较赶,所以暂时先用定时任务扫表实现了,我这边的场景是新增一条直播记录的时候根据直播开始时间前 10 分钟来推送消息,调用方法的时间是不固定的,就是说新增一条记录的时候才能知道什么时候发消息,我看了下利用消息队列死信实现的方法,但是消息出队只能先进先出,不能保证先到期的先发,redis 的到期回调感觉可以,有空研究下。
    11 replies  •  2018-09-18 15:19:32 +08:00
    victrec
    victrec
    Sep 17, 2018❤️2
    1
    quartz?
    simonliu2018
    simonliu2018
    Sep 17, 2018
    2
    我能说有这么巧吗?前几个月刚设计了一套高性能定时任务系统,基于 HashedWheelTimer 实现的,业务同学再也不用扫描表来做定时任务了。

    ![DEMO]( https://image.ibb.co/cxcqUz/2018_09_17_3_31_54.png)
    jsshaojinjie
    jsshaojinjie
    Sep 17, 2018
    3
    Timer,TimerTask,Scheduled
    lurenw
    lurenw
    Sep 17, 2018
    4
    用 redis,在到期时设置一个 callback
    orc
    orc
    Sep 17, 2018 via iPhone
    5
    找找任务定时调度框架
    HidingKing
    HidingKing
    Sep 17, 2018
    6
    用消息队列。单机的话用 DelayQueue
    Sypher
    Sypher
    Sep 17, 2018
    7
    crontab
    @simonliu2018 图片挂掉了
    q397064399
    q397064399
    Sep 17, 2018
    8
    xxl-job
    bsg1992
    bsg1992
    Sep 17, 2018
    9
    消息队列,quartz。在不就自己实现一个简单的队列系统也可以
    skypyb
    skypyb
    Sep 18, 2018
    10
    直接用 Spring 定时任务啊
    ITyemu
    ITyemu
    Sep 18, 2018
    11
    quartz,定时任务框架。内部包含 Scheduled,调度中心,jobDetail 具体执行的 work 或者 job,timer 具体执行时间
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5299 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 01:29 · PVG 09:29 · LAX 17:29 · JFK 20:29
    ♥ Do have faith in what you're doing.