[英]Windows TaskScheduler DailyTrigger run for a duration of
我正在使用Microsoft.Win32.TaskScheduler.DailyTrigger為Windows中的任務創建觸發器,以便每天早上8點運行。 這項任務每小時重復一次,但我希望它在10小時后停止,直到第二天再次啟動。
在Windows任務計划程序應用程序中,在觸發器下,您可以使用“每1小時重復一次任務,持續10小時”。
我每小時都可以做一次重復任務,但我找不到辦法做“持續時間”。 這是我到目前為止設置觸發器的代碼,startTime是今天設置為8am的DateTime。
var dailyTrigger = new DailyTrigger();
dailyTrigger.Repetition.Interval = TimeSpan.FromHours(1);
dailyTrigger.StartBoundary = startTime;
dailyTrigger.ExecutionTimeLimit = TimeSpan.FromMinutes(59);
我可以用多個觸發器來做,但我在想是否應用程序接口允許它可能有一種方法在代碼中執行它。
編輯:我注意到下面是一個不同的類,OP可能從Codeplex下載了一個庫 。 以下仍然適用,它只是Repetition.Interval
和Repetition.Duration
。
// Set the time in between each repetition of the task after it starts to 30 minutes.
tt.Repetition.Interval = TimeSpan.FromMinutes(60); // Default is TimeSpan.Zero (or never)
// Set the time the task will repeat to 1 day.
tt.Repetition.Duration = TimeSpan.FromDays(1); // Default is TimeSpan.Zero (or never)
IntervalMinutes
獲取或設置要重復運行的任務的執行之間的分鍾數。
[...]
任務繼續重復運行,直到DurationMinutes屬性中指定的時間間隔到期。 IntervalMinutes值從上一次執行的開始計算。 該
IntervalMinutes值必須小於DurationMinutes值。
DurationMinutes
獲取或設置觸發器觸發后觸發器保持活動狀態的分鍾數。
[...]
此屬性與IntervalMinutes屬性一起使用,以在一段時間內重復運行任務。 例如,要在上午8:00啟動任務並反復重新啟動它直到下午5:00,則DurationMinutes值將為540分鍾(9小時)。
在任務的DurationMinutes屬性到期后,DurationMinutes值還可用於終止正在運行的任務。
您使用KillAtDurationEnd屬性指定任務在其DurationMinutes到期后終止。 DurationMinutes的值必須大於或等於IntervalMinutes設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.