簡體   English   中英

Windows TaskScheduler DailyTrigger運行的持續時間為

[英]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.IntervalRepetition.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)

https://msdn.microsoft.com/en-us/library/office/microsoft.office.excel.server.addins.computecluster.taskscheduler.trigger.intervalminutes(v=office.12).aspx

IntervalMinutes

獲取或設置要重復運行的任務的執行之間的分鍾數。

[...]

任務繼續重復運行,直到DurationMinutes屬性中指定的時間間隔到期。 IntervalMinutes值從上一次執行的開始計算。

IntervalMinutes值必須小於DurationMinutes值。

https://msdn.microsoft.com/en-us/library/office/microsoft.office.excel.server.addins.computecluster.taskscheduler.trigger.durationminutes(v=office.12).aspx

DurationMinutes

獲取或設置觸發器觸發后觸發器保持活動狀態的分鍾數。

[...]

此屬性與IntervalMinutes屬性一起使用,以在一段時間內重復運行任務。 例如,要在上午8:00啟動任務並反復重新啟動它直到下午5:00,則DurationMinutes值將為540分鍾(9小時)。

在任務的DurationMinutes屬性到期后,DurationMinutes值還可用於終止正在運行的任務。

您使用KillAtDurationEnd屬性指定任務在其DurationMinutes到期后終止。 DurationMinutes的值必須大於或等於IntervalMinutes設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM