quartz,java世界里面的任务管理容器。

至于为什么会有misfire这个概念,我想可以重这三个方面来进行说明:

1 所有的线程都在忙于更高优先级的任务

2 任务本身CRASH了

3 代码的BUG,导置错误的设置了JOB

基于这3种原因,其实也是现实世界中的常理。没有任何事情,都能保证100%运行OK。quartz提出了misfire的理论,让任务在错过之后,还能正常的运行。

以下分别对几种类型的JOB进行说明:

without repeating(不重复的JOB)

这里只列出有代表的属性进行说明,这个JOB执行的时间为过去10秒之前,所以肯定会触发misfire

withMisfireHandlingInstructionFireNow(失效之后再恢复并马上执行)

就是当某个任务在理论执行的时间点没有执行,当任务正常起来之后,马上就去执行刚才未执行的任务。

withMisfireHandlingInstructionNextWithRemainingCount(失效之后不处理)

错过之后,不用管。

其它详细说明

这个其实比较简单。来看第二种

repeating fixed number of times(多次执行)

这个任务是说从9点开始,每隔一个小时,会执行一次,直到下午4点.

withMisfireHandlingInstructionFireNow(失效之后,再启动马上执行,总次数还是7次)

如果任务在10点的时候没有触发,但是在10:15分的时候执行了misfire,以后每次正点执行的时间就会较初始值晚15分钟,直到16:15

withMisfireHandlingInstructionNowWithExistingCount(失效之后,再启动之后马上执行,但是起始次数清零,总次数=7+当前misfire执行次数-1)

如果任务在10点没有触发,10:15分执行了misfire,以后执行时间都会较初始值晚15分钟,但是执行次数还是原来的7次,就会到17:15了。

withMisfireHandlingInstructionNextWithRemainingCount(失效之后,不管donothing,总次数还是7次)

withMisfireHandlingInstructionNextWithExistingCount(失效之后,donothgin,总次数=misfire的次数+7)

详情如图:

repeating infinitely(不停的执行)

这个任务是说从9点开始,每隔一个小时就会执行。

withMisfireHandlingInstructionFireNow(每次失效之后,在下个失效节点再执行)

这个模式下,withMisfireHandlingInstructionNowWithRemainingCount ,withMisfireHandlingInstructionNowWithExistingCount都是 一个意思。

withMisfireHandlingInstructionNextWithRemainingCount(每次失效之后,在下个定义的时间点再执行)

这个同withMisfireHandlingInstructionNextWithExistingCount的配置

CRON triggers(表达式,最复杂的)

在每个星期的周一至周五的上午9点到下午17点,每隔一个小时执行一次。

withMisfireHandlingInstructionIgnoreMisfires(所有misfire的任务会马上执行)

打个比方,如果9点misfire了,在10:15系统恢复之后,9点,10点的misfire会马上执行

withMisfireHandlingInstructionDoNothing(所有的misfire不管,执行下一个周期的任务)

withMisfireHandlingInstructionFireAndProceed(会合并部分的misfire,正常执行下一个周期的任务)

假设9,10的任务都misfire了,系统在10:15分起来了。只会执行一次misfire,下次正点执行。

现在,你了解到,不同模式的相同配置,misfire的行为其实是不一样的。大的方向其实就三个

1 忽略

2 立即执行

3 继续

4 放弃

5 等待下一个周期

最终就是根据合适的策略,选择合适的misfire.

quartz - 宕机后的设置相关推荐

  1. 头条二面:宕机后,Redis如何实现快速恢复?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | Kaito 来源 | kaito-kidd.c ...

  2. RabbitMQ宕机后,消息100%不会丢失吗

    V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF 这篇文章,给不太熟悉MQ技术的同学,介绍一个生产环境中可能会遇到的问题. 目前为止,你的RabbitMQ部署在线上服务器了,对 ...

  3. MySQL MGR 宕机后如何开启复制

    MGR宕机后的重启,分两种情况 整个MGR集群宕机 1.首先将所有实例开启,例如 mysqld_safe --defaults-file=/etc/my.cnf1 --user=mysql & ...

  4. 慌得一逼,Kafka宕机后不再高可用?吓死宝宝了

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:juejin.im/post/6874957625998606344 推荐 ...

  5. kafka服务器死机消息,当kafka集群其中一台宕机后,会怎么样?

    一.介绍 我们搭建好kafka集群后,对其进行性能测试.遇到这种场景:我搭建好了三台kakfa集群,然后停掉其中一台kafka,然后集群是否能正常工作呢? kafka集群: 192.168.183.5 ...

  6. springboot整合redis集群master宕机后连接超时

    前提: #        本文是在确保redis集群配置正确的情况下,连接超时的解决方案. 项目登录认证使用的是sa-token(这个不重要,主要说的是springboot和redis集群),最近应甲 ...

  7. 04 | 内存快照:宕机后, Redis 如何实现快速恢复

    文章目录 1. RDB内存快照的局限性 2. 给哪些内存数据做快照 3. 快照时数据能修改吗 4. 可以每秒做一次快照吗 4. 数据快速恢复 Redis 一另一种种持久化方法:内存快照.所谓内存快照, ...

  8. 阿里云、腾讯云纷纷宕机后,用户只能坐等损失?

    这个夏天,云服务日子都不太好过!继上月末阿里云服务出现技术故障后,腾讯云服务又出了大岔子. 昨天上午7点开始,陆续有网友反映,腾讯云服务出现宕机.随后,腾讯云广州区域全面断网,腾讯云主页.控制台.DN ...

  9. 宕机后,redis如何实现快速恢复?(RDB 内存快照)

    AOF 记录的是操作命令,而不是实际的数据,所以使用 AOF 方法进行故障恢复的时候,需要逐一把操作日志都执行一遍.如果操作日志非常多,redis 就会恢复得很缓慢,影响到正常使用.所以,redis ...

最新文章

  1. java 必备_Java基础必备
  2. java.util.list 赋值_java.util(ArrayList)
  3. leetcode83,删除有序链表中的重复元素
  4. LinuxShell笔记3 条件控制和流程控制
  5. mixins,generics(ApiView)
  6. 计算机无法验证签名,你如何解决电脑无法验证数字签名的问题
  7. 【深度学习】NLP|用GRU模型给周董写首歌
  8. java happen-before_Java内存模型happen-before的实现原理
  9. 移动硬盘linux读取失败,无法读取移动硬盘|无法识别的6种修复方法插图
  10. 什么是腾讯云主机安全,主要有哪些功能作用?
  11. HyperLynx(十)BoardSim和PCB板级仿真分析(一)
  12. js添加多marker 高德地图_h5高德地图javascript调起app导航定位多个marker
  13. 一个小程序员年薪五万的悲哀生活和他的理财梦
  14. java计算机毕业设计基于ssm的果蔬销售购物平台
  15. 王者荣耀服务器维护2020421,王者荣耀维护
  16. android mv模式,新增MV功能 天天动听Android 7.9版体验
  17. 【Linux】VIM命令(全面详解)
  18. MATLAB算法实战应用案例精讲-【回归算法】偏最小二乘回归(PLS)(附MATLAB、R语言和Python代码)
  19. ios 横竖屏转换通知问题
  20. 高精地图编辑生成 opendrive OpenSCENARIO

热门文章

  1. 声纹识别--基础学习笔记
  2. k-fold cross validation 相关的帖子、论文 建议收藏哦 ~
  3. 学习笔记2:高精度地图
  4. LPCTSTR类型和字符串
  5. 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文翻译
  6. WordPress重要文件wp-seting.php文件详解
  7. 关于传奇皓月GOM引擎登录器配置与生成完整教程
  8. STM32之蜂鸣器实验
  9. 关系代数与sql语句整理
  10. freescale R10 ipu lib 分析 - ipu_param_mem.h