Quartz.Net工作不会持续激活

时间:2013-06-07 10:23:33

标签: quartz.net

我在使用quartz.net的Application_start事件中安排了一个作业,触发器每1分钟触发一次,由变量repeatDurationTestData =“0 0/1 * * *?”给出; 当我第一次打开网站时,触发开始,但是当我关闭浏览器并在打开网站后再次启动时,会在一段随机时间后停止。以下是代码

 IMyJob testData = new SynchronizeTestData();
 IJobDetail jobTestData = new JobDetailImpl("Job", "Group", testData.GetType());
 ICronTrigger triggerTestData = new CronTriggerImpl("Trigger", "Group", repeatDurationTestData);
 _scheduler.ScheduleJob(jobTestData, triggerTestData);
 DateTimeOffset? nextFireTime = triggerTestData.GetNextFireTimeUtc();

我在这里做错了什么,这是因为一些失火。请建议。

由于

1 个答案:

答案 0 :(得分:2)

首先,我会在这种情况下使用一个简单的触发器,因为它需要一个重复间隔,似乎比cron触发器更合适(from lesson 5 quartz.net网站):

SimpleTrigger trigger2 = new SimpleTrigger("myTrigger",
                            null,
                            DateTime.UtcNow,
                            null,
                            SimpleTrigger.RepeatIndefinitely,
                            TimeSpan.FromSeconds(60)); 

我还建议你不要把石英调度程序放在网站上。作业系统的主要目的是独立于任何其他系统工作,因此它通常适合Windows服务。通过把它作为网站的一部分,你不能保证它会继续下去。如果您松开应用程序池或重新启动,您将无法获得可靠的结果。

有一个使用quartz.net下载的例子。

希望有所帮助。