当前位置: 首页 > news >正文

Quartz MisFire补偿机制 任务补偿 任务延迟 错过触发策略

介绍

在 Quartz 中,MisFire(错过触发)是指触发器错过了预定的触发时间,通常是由于系统延迟、任务执行时间过长或者调度器本身未能及时执行任务等原因。这种情况可能会导致任务无法按预期的时间执行。为了应对这些问题,Quartz 提供了 MisFire 补偿机制,即通过设置 MisFire Policy(错过触发策略)来处理这种情况。


       Trigger trigger= TriggerBuilder.newTrigger()
                .withIdentity(job.getJobName()+"_trigger") 

               .startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间
               .withSchedule(CronScheduleBuilder.cronSchedule("0 * * * * ?")//每分钟执行一次
                       .withMisfireHandlingInstructionIgnoreMisfires()) //补偿机制
                .build();

        scheduler.scheduleJob(jobDetail,trigger);

IgnoreMisfires全部补偿

withMisfireHandlingInstructionIgnoreMisfires会将超过的全部都补偿一遍,如我20:55:00启动项目,将会补偿5次。

  .startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间
       .withSchedule(CronScheduleBuilder.cronSchedule("0 * * * * ?")//每分钟执行一次
               .withMisfireHandlingInstructionIgnoreMisfires()) //补偿机制

DoNothing 不补偿

withMisfireHandlingInstructionDoNothing会将超过的不做补偿。

  .startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间
       .withSchedule(CronScheduleBuilder.cronSchedule("0 * * * * ?")//每分钟执行一次
               .withMisfireHandlingInstructionDoNothing()) //补偿机制

FireAndProceed 补偿一次(默认)

withMisfireHandlingInstructionFireAndProceed会将超过只补偿一次,如我20:55:00启动项目,将会补偿1次。

  .startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间
       .withSchedule(CronScheduleBuilder.cronSchedule("0 * * * * ?")//每分钟执行一次
               .withMisfireHandlingInstructionFireAndProceed()) //补偿机制

相关文章:

  • 自然语言处理利器NLTK:从入门到核心功能解析
  • 【LeetCode 热题100】139:单词拆分(动态规划全解析+细节陷阱)(Go语言版)
  • 每日算法:洛谷U535982 J-A 小梦的AB交换
  • Java虚拟机——JVM(Java Virtual Machine)解析一
  • 113. 在 Vue 3 中使用 OpenLayers 实现鼠标移动显示坐标信息
  • php-cgi参数注入攻击经历浅谈
  • Redisson分布式锁:原理、使用
  • 第16届蓝桥杯单片机模拟试题Ⅰ
  • C和C++有什么区别?
  • 基于条码数据生成校验密码的C++实现方案
  • 课程分享 | 安全设计原则
  • 使用LangChain Agents构建Gradio及Gradio Tools(5)——gradio_tools的端到端示例详解
  • 【含文档+PPT+源码】基于Python的快递服务管理系统
  • MCU软件开发使用指针有哪些坑?
  • 基于 SmartX 原生容灾能力构建简单经济的容灾方案:5 大场景与 4 例实践合集
  • 【我赢职场】欣旺达电子股份在线测评解析
  • pyTorch-迁移学习-学习率衰减-四种天气图片多分类问题
  • 基于ElasticSearch的向量检索技术实践
  • 设计模式 四、行为设计模式(1)
  • 基于层次建模与交叉注意力融合的医学视觉问答系统(HiCA-VQA)详解
  • 网站建设 公司/地推团队去哪里找
  • 企业门户网站开发平台的设计与实现/推广营销网络
  • 三只松鼠网站谁做的/厦门seo外包平台
  • 智慧团建网站进不去/如何推广自己的店铺
  • 幼儿园网站建设发展规划/软文推送
  • 门户网站建设理由/aso排名