Quartz.Net—MisFire
什么是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的更多相关文章
- Quartz的misfire特性
Quartz的misfire特性 只有一个线程.多个job 第一个job产生misfire(executeTime>Interval) 且是repeatForever 那么只会运行第一个job, ...
- Quartz的misfire理解
misfire用于Trigger触发时,线程池中没有可用的线程或者调度器关闭了,此时这个Trigger变为misfire.当下次调度器启动或者有可以线程时,会检查处于misfire状态的Trigger ...
- Quartz.net misfire实践
1.问题描述 在使用Quartz.net定时运行作业时,存在一种情况:作业错过了某次执行,当作业恢复的时候应该怎么处理?如:job1在3:50的时候应该执行的,但此刻job1处于暂停状态,而到3: ...
- Quartz的misfire处理机制分析
Quartz是一个特性丰富的开源的任务调度开发库,它可以很方便的集成到你的应用程序中.在Quartz中,当一个持久的触发器因为调度器被关闭或者线程池中没有可用的线程而错过了激活时间时,就会发生激活失败 ...
- Quartz任务调度:MisFire策略和源码分析
Quartz是为大家熟知的任务调度框架,先看看官网的介绍: ---------------------------------------------------------------------- ...
- Quartz小记(一):Elastic-Job - 分布式定时任务框架
Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.去掉了和dd-job中的监控和ddframe接入规范部分.该项目基于成熟的开源产品Quartz和Zooke ...
- Quartz教程五:SimpleTrigger
原文链接 | 译文链接 | 翻译:nkcoder 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正:有兴趣 ...
- Quartz.NET | 佳佳的博客
原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET ...
- 基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
前提 创业小团队,无论选择任何方案,都优先考虑节省成本.关于分布式定时调度框架,成熟的候选方案有XXL-JOB.Easy Scheduler.Light Task Scheduler和Elastic ...
随机推荐
- Ubuntu sudo apt-get 安装下载更新软件包命令详解
sudo apt-get install package 安装软件包sudo apt-get install package - - reinstall 重新安装 ...
- PAT A1075 PAT Judge (25 分)——结构体初始化,排序
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- 分布式计算(五)Azkaban使用
在安装好Azkaban后,熟悉Azkaban的用法花了较长时间,也踩了一些坑,接下来将详细描述Azkaban的使用过程. 目录 一.界面介绍 二.Projects 1. 创建Command类型单一Jo ...
- treap学习笔记
treap是个很神奇的数据结构. 给你一个问题,你可以解决它吗? 这个问题需要treap这个数据结构. 众所周知,二叉查找树的查找效率低的原因是不平衡,而我们又不希望用各种奇奇怪怪的旋转来使它平衡,那 ...
- 1-Android开发验证码(使用第三方Mob,注册)
http://www.mob.com/ 注册以后 可以直接放在 可以下载到手机里面试一下了 后续就不截图了 补充: 自定义签名
- 搭建SSH服务
1.安装 ssh-server 通过命令进行安装:sudo apt-get install openssh-server 在安装时遇到问题,根据提示,执行命令:sudo apt-get update, ...
- c# 设置桌面背景窗口 SetParent
using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms ...
- C# 16进制转 Brush 颜色对象
原文:C# 16进制转 Brush 颜色对象 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u014117094/article/details/4 ...
- RabbmitMQ-Publish/Subscribe
之前的学习中,我们了解的工作队列实现的是:一个消息只发送到一个消费者. 现在我们来学习一下新模式:发布/订阅模式 之前我们在原理中介绍了exchange,但好像并没有使用.而是直接往队列里发消息和取消 ...
- Ubuntu16.04密码正确 进不去桌面系统(已测试恢复正常)
遇到过两次ubuntu输入密码正确,但是进不去系统,输入密码后,跳转到一下界面 之后又返回到登陆界面,一直这样循环输入密码. Guest用户可以. 解决办法: 1.进入tty下 ...