Quartz.net总是在8次运行后停止

时间:2015-01-30 07:09:52

标签: .net quartz-scheduler windows-server-2008-r2

您好我有一个预定的工作在Quartz.net每小时运行一次:

 private static void InitTimers() {
        log.Info("InitTimers");
        try {
            var job = Quartz.JobBuilder.Create<HourlyJob>()
               .WithIdentity("HourlyJob")
               .Build();
            var trigger = Quartz.TriggerBuilder.Create()
                .WithIdentity("HourlyTrigger")
                .StartAt(Quartz.DateBuilder.EvenHourDateAfterNow())
                .WithSchedule(Quartz.SimpleScheduleBuilder.RepeatHourlyForever())
                .Build();
            _scheduler.ScheduleJob(job, trigger);
        } catch (Exception ex) {
            log.Error("InitTimers", ex);
        }
    }

我从静态类ApplicationServer调用它:

var schedulerFactory = new Quartz.Impl.StdSchedulerFactory();
_scheduler = schedulerFactory.GetScheduler();
 _scheduler.Start();
InitTimers();

_scheduler也是一个静态字段。我的服务器在Windows Server 2008 R2上运行,8小时后作业总是停止。我读过它可能是因为GC,但在这种情况下,我不确定我应该做什么。任何其他想法

更新: 所以我查看了日志,发现它总是在下午6点停止。可能是我应该寻找的原因是什么?

1 个答案:

答案 0 :(得分:0)

我有一个mein项目的代码几乎相同,但它可以工作,但是在启动调度程序之前添加作业。试试

var schedulerFactory = new Quartz.Impl.StdSchedulerFactory();
_scheduler = schedulerFactory.GetScheduler();
InitTimers();
_scheduler.Start();

停止时你有例外吗?