2011-12-24 70 views
1

我想創建一個觸發器,它的持續時間:Quartz.Net克朗觸發重複任務每一天的時間

上一週的選擇天運行作業(比如週一,週三,週四),並重復此在這些日子的每個時間內工作X小時或分鐘,持續時間爲Y分鐘。

我有一個cron觸發器在指定的日子裏正確觸發,但我無法獲得重複間隔的工作。

感謝

回答

1

你不能申報工作的持續時間,但你可以很容易地從作業中的持續時間。

無論如何,cron表達式將安排根據您的具體工作是:

35 30 1/2 ? * MON,WED,THU * 

1/2意味着將運行作業每隔2小時,從上午一時30分35秒開始。

您可以使用this useful website.上的cron表達式使用Quartz的原始Java版本來創建和驗證表達式,但.net版本是Java端口,因此結果應該適用於quartz。淨。

3

如果問題是關於「如何創建僅在某些特定日期觸發的觸發器,反覆在X小時/分鐘內,並且間隔爲Y分鐘」,則Quartz.NET 1.0無法實現。

 WeeklyCalendar cal = new WeeklyCalendar(); 
     cal.SetDayExcluded(DayOfWeek.Monday, true); 
     sched.AddCalendar("excludedDays", cal, false, false); 

     var trigger = TriggerBuilder.Create() 
      .WithIdentity("test", "group") 
      .WithDailyTimeIntervalSchedule(
       x => x.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(14, 0)) 
         .EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(15, 0)) 
         .WithIntervalInSeconds(5)) 
      .ModifiedByCalendar("excludedDays") 
      .Build(); 

不過,如果你願意用Quartz.NET 2.0(目前處於測試階段2),你可以很容易地通過使用日曆和DailyTimeIntervalSchedule做

相關問題