Quartz的Scheduler停止的注意点


一般来说,终止Quartz的Scheduler,只需要如下一行代码即可:
JobSchedulerManager.GetScheduler().Shutdown(true);
其中的"true"参数的声明为:bool waitForJobsToComplete
即是否等待Jobs全部完成,再终止。

但如果我们的运行Job,是7x24的特性,因为完成时间是不定的,所以仅用Quartz去管理与监控它,而并不通过Quartz按时调度,所以一般通过如下代码运行工作:
1while(true)
2{
3    DoJob();
4    Thread.Sleep(SLEEPTIME);
5}

这种时候Shutdown方法就不能使用true作为参数值了,因为这样的话,永远也终止不了。
所以只能使用:
JobSchedulerManager.GetScheduler().Shutdown(false);
即不等待任务完成,即立即关闭Scheduler.

这个参数的存在,多少体现了Quartz作者的细心:)
posted @ 2009-09-28 11:01  清风飘雨  阅读(3312)  评论(0编辑  收藏  举报