Quartz.net作业完成后的时间间隔重复作业

问题描述:

我目前正在一个简单的应用程序中执行Quartz.net,应该每隔5秒钟执行一段代码。只有现在代码有时需要超过5秒才能完成。Quartz.net作业完成后的时间间隔重复作业

起初我遇到了代码在相同代码仍在运行时执行的问题,我通过使用IStateFulJob接口而不是IJob接口来解决此问题。

但是我真正想要完成的是,我的工作是在作业完成后5秒钟执行,而不是在我之前的作业开始后5秒钟执行。

我当然可以处理当我的听众“听到”作业已准备好并重新计划作业时触发的事件,但我想知道是否没有任何标准功能。

+1

'IStatefulJob'已被弃用。使用'DisallowConcurrentExecution'属性来禁止多个作业实例同时执行。 – 2013-03-22 14:37:19

目前没有一种标准的方法来实现这一点,因为Quartz.NET在想法上有一个预定义的(预先计算好的)着火时间和轮询正确的时间来触发工作。

您描述的方式将是最简单的路径。可以从作业的下一次执行或从监听器进行计划。

+5

从此到现在这个变化了吗?这是四年前的答案,今天它还是一样吗? – 2014-05-06 03:09:49