什么是misfire

misfire就是哑火,就是trigger没有得到正常的触发。

1、所有的threadpool都在工作,而且工作时间很长,导致trigger没有threadpool去执行。

2、schedule挂掉有恢复。。

3、错过的执行

misfire阈值

1、ramjobstore  默认  5秒

2、dbjobstore   默认 60秒

MisFire策略

1、错过的执行,发上执行,后面的调度正常执行。

2、错过的合并执行一次,后面的正常执行

3、忽略这种调度,后面的正常执行

上面三点是核心策略

SimpleTrigger处理哑火

场景:

1am开始执行,每小时执行一次,连续执行10次。但是开始时间是3点半。

已经错过了三次执行。

关键词介绍:

remain:剩余       剩余多少次

Exist:存在         一共多少次

Now:马上开始

Next:下一个时间点 开始

NowWithRemainingCount:马上开始   使用剩余的次数

NowWithExistingCount:马上开始   使用总次数

NextWithRemainingCount:下一个时间点开始   使用剩余次数

NextWithExistingCount:下一个时间点开始   使用总次数

方法介绍

1、WithMisfireHandlingInstructionNextWithExistingCount

下一次执行时间是4点,然后连续执行10次,到14点。

  4:00              +10次                     =14:00

2、WithMisfireHandlingInstructionNextWithRemainingCount

  4:00              +7次                        =11:00

3、WithMisfireHandlingInstructionNowWithExistingCount

  3:30              +10次                     =13:30

4、WithMisfireHandlingInstructionNowWithRemainingCount

  3:30               +7次                       =10:30

5、WithMisfireHandlingInstructionIgnoreMisfires

错过的执行,都会 马上执行,后面的调度正常执行。

6、WithMisfireHandlingInstructionFireNow

现在马上执行,原来错过的不执行。

CronTrigger处理哑火

1、WithMisfireHandlingInstructionIgnoreMisfires

错过的马上执行掉,后续正常执行

2、WithMisfireHandlingInstructionFireAndProceed

错过的合并为一次执行,后续正常执行。

3、WithMisfireHandlingInstructionDoNothing

错过的不管了,剩下的按正常执行。

Quartz.Net—MisFire的更多相关文章

  1. Quartz的misfire特性

    Quartz的misfire特性 只有一个线程.多个job 第一个job产生misfire(executeTime>Interval) 且是repeatForever 那么只会运行第一个job, ...

  2. Quartz的misfire理解

    misfire用于Trigger触发时,线程池中没有可用的线程或者调度器关闭了,此时这个Trigger变为misfire.当下次调度器启动或者有可以线程时,会检查处于misfire状态的Trigger ...

  3. Quartz.net misfire实践

      1.问题描述 在使用Quartz.net定时运行作业时,存在一种情况:作业错过了某次执行,当作业恢复的时候应该怎么处理?如:job1在3:50的时候应该执行的,但此刻job1处于暂停状态,而到3: ...

  4. Quartz的misfire处理机制分析

    Quartz是一个特性丰富的开源的任务调度开发库,它可以很方便的集成到你的应用程序中.在Quartz中,当一个持久的触发器因为调度器被关闭或者线程池中没有可用的线程而错过了激活时间时,就会发生激活失败 ...

  5. Quartz任务调度:MisFire策略和源码分析

    Quartz是为大家熟知的任务调度框架,先看看官网的介绍: ---------------------------------------------------------------------- ...

  6. Quartz小记(一):Elastic-Job - 分布式定时任务框架

    Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.去掉了和dd-job中的监控和ddframe接入规范部分.该项目基于成熟的开源产品Quartz和Zooke ...

  7. Quartz教程五:SimpleTrigger

    原文链接 | 译文链接 | 翻译:nkcoder 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正:有兴趣 ...

  8. Quartz.NET | 佳佳的博客

    原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET ...

  9. 基于Quartz编写一个可复用的分布式调度任务管理WebUI组件

    前提 创业小团队,无论选择任何方案,都优先考虑节省成本.关于分布式定时调度框架,成熟的候选方案有XXL-JOB.Easy Scheduler.Light Task Scheduler和Elastic ...

随机推荐

  1. PAT A1096 Consecutive Factors (20 分)——数字遍历

    Among all the factors of a positive integer N, there may exist several consecutive numbers. For exam ...

  2. ubuntu 用remastersys 备份系统并且安装

    sudo add-apt-repository ppa:mutse-young/remastersys 2.更新系统软件源 sudo apt-get update 3.更新完了,先安装remaster ...

  3. 浅谈UI自动化测试

    最近一直在学习python,正好部门技术结构调整,就开始了点工向UI自动化测试的转变,我要说瞌睡来了就掉枕头么? 不过还好,可以将python的学习成果在自动化测试中实践... 1.about自动化测 ...

  4. NPOI DataSet导出excel

    /// <summary> /// DataSet导出到Excel的MemoryStream /// </summary> /// <param name="d ...

  5. LVDS原理及设计指南--以及衍生的B-LVDS-M-LVDS--CML-LVPECL电平等

    LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗.      IEEE 在两个标准中对LVDS 信号 ...

  6. (转)linux sudo 重定向,实现只有系统管理员才有权限操作的文件中写入信息

    众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式. 本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息.   比如 ...

  7. Jquery 图片延迟加载技术

    参考网址:http://code.ciaoca.com/jquery/lazyload/ 延迟加载能大大增加你网站的加载速度! 需要引入以下文件<Jq文件也是少不了的>: <scri ...

  8. Luogu P2059 [JLOI2013]卡牌游戏

    一道比较简单的概率DP 首先看到这种题目和数据范围,就要毫不犹豫地列DP方程: 我们令\(f_{i,j}\)表示还剩下i个人时编号为j的人的胜率,那么首先我们可以知道边界条件\(f_{1,1}=1\) ...

  9. keycloak 调研资料

    1.https://www.keycloak.org/docs/latest/server_development/index.html 下载keycloak 2.https://gitee.com/ ...

  10. Object-Oriented(一)创建对象

    自用备忘笔记 前言 虽然可以使用 Object 和对象字面量创建对象,但是如果要创建大量相似的对象又显得麻烦.为解决这个问题,人们开始使用工厂模式的变种. 工厂模式 function person(n ...