【发布时间】:2015-03-29 15:15:36
【问题描述】:
您好,我有一个计划在 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 点停止。我应该寻找的原因可能是什么?
【问题讨论】:
标签: .net quartz-scheduler windows-server-2008-r2