我目前正在一个简单的应用程序中实现Quartz.net,该应用程序应该每隔(例如)5秒执行一段代码。只有现在代码有时需要5秒以上才能完成。
起初我遇到了代码在相同代码仍在运行时执行的问题,我通过使用IStateFulJob接口而不是IJob接口修复了此问题。
但我真正想要完成的是,我的工作在工作完成后5秒执行,而不是在我上一份工作开始后5秒执行。
我当然可以处理当我的听众“听到”作业准备好并重新安排作业时触发的事件,但我想知道是否没有任何标准功能。
答案 0 :(得分:4)
目前还没有标准的方法来实现这一目标,因为Quartz.NET的想法是预先设定(预先计算)的开火时间并轮询正确的时间来触发工作。
您描述的方式将是最简单的方法。要么从下一次执行的作业安排,要么从听众安排。