【问题标题】:Scheduled daily job(using Simple Daily Schedule) with QUARTZ not firing when expected?计划的日常工作(使用简单的每日计划)与 QUARTZ 没有按预期触发?
【发布时间】:2019-02-26 14:28:25
【问题描述】:

我需要使用QUARTZ Daily Simple Scheduler 安排每天应该触发的作业。我浏览了整个文档,但没有任何帮助。

我有以下代码:

var builder = TriggerBuilder.Create()
                        .WithDescription(key + group)
                        .WithIdentity(trigKey)
                        .StartAt(startDate.Value.ToLocalTime())
                        .WithDailyTimeIntervalSchedule(
                            s => s.OnEveryDay()
                            .WithIntervalInHours(24)
                            .StartingDailyAt(
                                TimeOfDay.HourAndMinuteOfDay(
                                    startDate.Value.ToLocalTime().Hour,
                                    startDate.Value.ToLocalTime().Minute)));

var newTrigger = builder.Build();
Scheduler.ScheduleJob(addNewJob, trig);

这似乎可以解决一个问题。如果我将作业安排在昨天的 12:10,它将在今天的 12:10 运行。但是,如果我将它安排在今天的 12:10,它将不会在今天运行。我试了几次。将其安排在 12 执行到 12:30 (认为可能需要更多时间),但似乎没有任何效果。我检查了数据库并且 StartTime 是正确的。我有一种预感,QUARTZ 可能会将作业设置为在作业安排后的第二天执行。

目前我被卡住了。我知道这可以通过 CRON 触发器来完成,但我需要使用 Daily 简单的调度程序。

【问题讨论】:

    标签: c# .net quartz.net quartz


    【解决方案1】:

    我发现了问题。 .WithIntervalInHours(24) 将开始时间增加 24 小时,如果它安排在今天,它将在明天运行。删除它就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 2014-04-14
      • 2019-02-08
      • 2021-06-08
      • 1970-01-01
      相关资源
      最近更新 更多