如何在微小的重复发生时指定quartz.net简单触发器的结束时间?

时间:2015-03-25 05:05:44

标签: c# .net cron quartz-scheduler quartz.net

我有以下简单的触发器,每60分钟运行一次。我想要在给定的日期结束。我怎样才能做到这一点?

ITrigger trigger = TriggerBuilder.Create()
                              .WithDescription("Minute")
                              .WithSimpleSchedule(x => x
                              .WithIntervalInMinutes(minutes))
                              .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear))
                              .Build();

我在.StartAt行之后尝试了.EndAt。但它不起作用。请建议

1 个答案:

答案 0 :(得分:2)

你必须一起使用“EndAt”“RepeatForever”:

ITrigger trigger = TriggerBuilder.Create()
                          .WithDescription("Minute")
                          .WithSimpleSchedule(x => x
                          .WithIntervalInMinutes(minutes)
                                        .RepeatForever())
                          .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear))
                          .EndAt(DateBuilder.DateOf(endMinnutes,endSeconds,endDate, endMonth, endYear))
                          .Build();

scheduler的默认行为是repeatcount 0。 当repeatedcount为0时,方法“FinalFireTimeUtc”返回开始日期。只有在“FinalFireTimeUtc”返回null时才会停止引发事件。

要实现您正在寻找的行为,您必须一起使用“EndAt”和“RepeatForever”