【问题标题】:Why is Quartz.net ignoring the misfire threshold?为什么 Quartz.net 会忽略失火阈值?
【发布时间】:2021-09-21 01:31:16
【问题描述】:

如果作业已过期,我想忽略它的执行。到期是指next_fire_time 之后的 60 秒。

即使我在调度程序属性中设置了["org.quartz.jobStore.misfireThreshold"] = "60000",我也会暂停作业,等待 5 分钟,然后恢复它并执行作业。为什么会这样?仅当 60 秒后没有经过 next_fire_time 时,我才想继续执行作业。以其他方式,我希望忽略作业执行。

阈值不是表示在next_fire_time 之后作业还能执行多长时间? 似乎设置 misfireThreshold 没有任何区别。

【问题讨论】:

  • misfireThreshold 定义了触发器应该在多长时间后才被视为未触发。如果延迟执行时间大于或等于 misfireThreshold,则触发失败。

标签: c# asp.net-core jobs quartz.net threshold


【解决方案1】:

有两个问题:

  1. ["quartz.jobStore.misfireThreshold"] = "60000",不是["org.quartz.jobStore.misfireThreshold"] = "60000"
  2. 我需要WithMisfireHandlingInstructionDoNothing,我用过WithMisfireHandlingInstructionFireAndProceed,它不关心阈值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-14
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多