QUARTZ的计划的日常工作(使用“简单的每日计划”)在预期时未触发?

时间:2019-02-26 14:28:25

标签: c# .net quartz.net quartz

我需要安排一份每天使用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简单调度程序来实现。

1 个答案:

答案 0 :(得分:0)

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