V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Qiuchi
V2EX  ›  程序员

基于 cron 时点触发的定时任务,如何避免因停机缺失的执行时点

  •  
  •   Qiuchi · 169 天前 · 1337 次点击
    这是一个创建于 169 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,对象是一个定时调度系统,spring scheduling ,调度模块是 zookeeper 实现的热备,但是在主备切换时,会有几秒的延迟,这小段时间缺失的定时任务有什么办法处理么
    4 条回复    2024-06-13 21:05:01 +08:00
    leogm9408leo
        1
    leogm9408leo  
       169 天前
    1.触发任务时做记录,根据记录做后置校验,发现有任务丢失进行重试
    2.借助消息队列中间件,定时发送任务消息,执行侧消费任务消息启动任务
    zeonluang
        2
    zeonluang  
       169 天前   ❤️ 1
    可以看下 xxl job 的配置项
    配置 1: 最大延迟调度时间,(服务启动时会过去 X 分钟要调度的任务,再判断一次)
    配置 2: 是否需要补偿执行
    Qiuchi
        3
    Qiuchi  
    OP
       169 天前
    @leogm9408leo 1 感觉可以,就这么整了
    Qiuchi
        4
    Qiuchi  
    OP
       169 天前
    @zeonluang 学习了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2632 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 05:06 · PVG 13:06 · LAX 21:06 · JFK 00:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.