【问题标题】:Quartz.Net job doesn't fire continuouslyQuartz.Net 作业不会连续触发
【发布时间】:2013-06-07 10:23:32
【问题描述】:

我使用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();

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

谢谢

【问题讨论】:

标签: quartz.net


【解决方案1】:

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

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

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

quartz.net 下载有一个例子。

希望有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    相关资源
    最近更新 更多