【发布时间】:2012-05-07 22:41:05
【问题描述】:
在我的项目中,我正在创建一个即时 SimpleTrigger,它会调用一个虚拟作业(执行的操作持续时间超过 30 秒)。我已将失火策略设置为 MISFIRE_INSTRUCTION_FIRE_NOW 并且作业请求恢复标志也设置为 true。
作业开始后(Quartz DB 存储中的状态从 READY 转变为 RUNNING),我故意反弹(重新启动)整个系统,这会中断正在运行的作业。当系统恢复到活动状态时,我看到被中断的作业根本不会重新启动。
在我们的生产系统中,这将造成严重伤害,因为任何软件更新都会无意中中断该实例上正在运行的作业,并且这些作业根本不会再次触发(关键的一次性作业可能未完成,从而导致不受欢迎的即将到来的工作中的涟漪)。从我们的角度来看,这是非常不可取的。
我想要的是在系统再次备份后也会触发被中断的作业(基本上相同的行为是触发计划时间是在系统停机期间,并且策略是 MISFIRE_INSTRUCTION_FIRE_NOW)。这里有解决方法吗?
【问题讨论】:
标签: quartz-scheduler