【问题标题】:Quartz .NET - remove trigger if all future fire times in pastQuartz .NET - 如果过去所有未来的触发时间都删除触发器
【发布时间】:2017-11-25 23:03:54
【问题描述】:

我已将石英调度程序设置为忽略失火并继续下一个触发时间(使用 .WithMisfireHandlingInstructionNextWithRemainingCount().WithMisfireHandlingInstructionDoNothing())。这工作正常,但如果没有下一次触发时间,触发器将只保留已经失败的旧下一次触发时间并等待它触发(它永远不会触发,因为它是过去的)。

我对此进行测试的方式是暂停触发器并等待触发时间通过/失火。触发器的状态仅在恢复后更新为 COMPLETE 并保留在数据库中。我希望触发器将自身从数据库中删除(就像完成时通常那样)。我还希望触发器完成而无需我恢复触发器,但这是一个奖励。

【问题讨论】:

    标签: quartz.net


    【解决方案1】:

    所以问题是我将开始时间(使用 .StartAt() 方法)设置为我使用的间隔的开始时间。例如,假设现在是 6 月 23 日上午 9 点。如果我有一个每天从凌晨 3 点开始运行的触发器,那么每日间隔的开始时间是凌晨 3 点。但是,我也将触发器的开始时间设置为凌晨 3 点,这是过去的时间。这最终给我带来了很多问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多