zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Android UI性能优化详解
    Android开发中一些被冷落但却很有用的类和方法
    Android开发:Translucent System Bar 的最佳实践
    让动画不再僵硬:Facebook Rebound Android动画库介绍
    Android Touch事件传递机制
    转载爱哥自定义View系列--Canvas详解
    Android最佳实践指南
    Android网络请求心路历程
    转载爱哥自定义View系列--文字详解
    ORM是什么?
  • 原文地址:https://www.cnblogs.com/yanglang/p/9626245.html
Copyright © 2011-2022 走看看