如果 Windows 服务停止,Quartz.NET 是否会触发失火?
我在 Windows 服务中使用 Quartz.NET dll 和 AdoJobStore。我注意到该教程对于失火不是很清楚。
问题:如果 Windows 服务在本应执行作业时停止,是否会触发失火? Quartz.NET 教程说:“如果持久触发器由于调度程序关闭或因为 Quartz 线程池中没有可用线程来执行作业而“错过”其触发时间,则会发生失火”。那么这是否意味着如果服务本身停止,则不会触发失火(因为这就是发生在我身上的情况)?
I'm using the Quartz.NET dll with AdoJobStore inside a Windows service. I noticed that the tutorial isn't very clear about misfires.
The question: Is a misfire supposed to be triggered if the Windows service was stopped when the job should have been executed? The Quartz.NET tutorial says: "A misfire occurs if a persistent trigger "misses" its firing time because of the scheduler being shutdown, or because there are no available threads in Quartz's thread pool for executing the job". So does that mean that if the service itself is stopped no misfire is triggered (because that's what happens to me)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是正确的。每当调度程序再次启动时就会发生失火。本质上,当调度程序检查作业何时应该运行并确定作业的触发时间已经过去时,就会发生失火。
That's correct. The misfire will happen whenever the scheduler is started up again. In essence the misfire happens when the scheduler checks when a job should run and it determines that the fire time for the job is in the past.