【问题标题】:Quartz.net always stops after 8 runsQuartz.net 在 8 次运行后总是停止
【发布时间】: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


    【解决方案1】:

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

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

    停止时有没有异常?

    【讨论】:

    • 我没有任何例外。我建立了日志,但那里也没有任何显示 - 它只是停止
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多