我有以下简单的触发器,每60分钟运行一次。我想要在给定的日期结束。我怎样才能做到这一点?
ITrigger trigger = TriggerBuilder.Create()
.WithDescription("Minute")
.WithSimpleSchedule(x => x
.WithIntervalInMinutes(minutes))
.StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear))
.Build();
我在.StartAt行之后尝试了.EndAt。但它不起作用。请建议
答案 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”