2015-03-25 42 views
0

我有下面每60分钟运行一次的简单触发器。我希望这在给定的日期结束。我怎样才能做到这一点?如何在一分钟内重复指定quartz.net简单触发器的结束时间?

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

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

回答

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(); 

调度器的默认行为是repeatedcount 0 时repeatedcount是0,该法 “FinalFireTimeUtc” 返回开始日期。只有当“FinalFireTimeUtc”返回null时,才会停止提升事件。

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

相关问题