工作閑置條件
當計算機進入閑置狀態時,可以透過數種方式來處理工作。 這包括定義閑置觸發程式,或設定工作啟動時的閑置條件。
偵測閑置狀態
在 Windows 7 中,工作排程器會每隔 15 分鐘確認計算機處於閑置狀態。 工作排程器會使用兩個準則來檢查閑置狀態:使用者缺席,以及資源耗用量不足。 如果使用者在這段時間內沒有鍵盤或滑鼠輸入,則會被視為不存在。 如果所有處理器和所有磁碟在上次偵測間隔的 90 個以上% 閑置,計算機就會被視為閑置。 (例外狀況是設定ES_DISPLAY_REQUIRED旗標的任何簡報類型應用程式。不論用戶活動或資源耗用量為何,此旗標會強制工作排程不要將系統視為閑置。
在 Windows 7 中,工作排程器會將處理器視為閑置,即使低優先順序線程(線程優先順序 < 正常)執行也一樣。
在 Windows 7 中,當工作排程器偵測到計算機處於閑置狀態時,服務只會等候使用者輸入標示閑置狀態的結尾。
在 Windows 8 中,工作排程器會執行相同的一般使用者缺席和資源耗用量檢查。 不過,工作排程器依賴作系統電源子系統來偵測使用者是否存在。 根據預設,在四分鐘沒有鍵盤或滑鼠輸入之後,使用者就會被視為缺席。 當使用者存在時,資源耗用量驗證時間會縮短為10分鐘間隔。 當用戶離開時,驗證時間會縮短為30秒間隔。 工作排程器會針對下列事件進行額外的資源耗用量檢查:
- 使用者目前狀態已變更
- AC/DC 電源已變更
- 電池電量已變更(只有在電池時)
當上述任何事件發生時,工作排程器會測試計算機自上次驗證時間以來的閑置狀態。 實際上,這表示如果上次驗證時間之後符合其他條件,工作排程器可能會立即將系統宣告為閑置狀態。
在 Windows 8 中,CPU 和 IO 閾值會設定為 80%。
在 Windows 8 Server 中偵測閑置狀態時,工作排程器不會將使用者存在或缺席納入考慮。 若要標示閑置狀態的結束,工作排程器會在 90 分鐘內修改資源耗用量一次。
定義閑置觸發程式
當計算機藉由定義閑置觸發程式進入閑置狀態時,可以啟動工作。
如果計算機在觸發程式的開始界限之後進入閑置狀態,閑置觸發程式只會觸發工作動作。
應用程式可以使用 IIdleTrigger 介面來定義閑置觸發程式。
如果讀取或寫入 XML,則閒置觸發程式是由工作排程器架構的 IdleTrigger 元素所指定。
閑置條件的工作設定
工作設定可用來定義當計算機進入閑置狀態時,工作排程器如何處理工作。
下圖提供三個可能的時程表,顯示這些不同閑置條件彼此的關係。 請注意,圖例會在啟動工作觸發程式時啟動,或工作視需要啟動時啟動(不需要要求 忽略現有的工作條件約束)。
注意
Duration 和 WaitTimeout 設定已被取代。 它們仍然存在於工作排程器使用者介面中,而且其介面方法可能仍會傳回有效的值,但不再使用它們。
下列清單描述閑置條件。
- 閑置啟動:計算機進入閑置狀態的時間。
- 閑置結束:計算機從閑置狀態轉換的時間。 請注意,計算機處於閑置狀態的時間量與先前描述的閑置持續時間時間無關。
閑置等候和閑置持續時間已被取代。
- 閑置等候:工作排程器在啟動工作觸發程式或視需要啟動工作之後,等待閑置狀態發生的時間量。
- 閑置持續時間:您希望計算機在啟動工作之前已閑置的時間量。
例如,如果工作設定為只有在計算機閑置 30 分鐘時才會啟動,而工作會等候計算機閑置 10 分鐘,則只有在計算機在啟動觸發程式之前已閑置 25 分鐘時,才會在 5 分鐘內啟動工作。 如果計算機在啟動觸發程式 5 分鐘後進入閑置狀態,工作將不會啟動。
根據預設,工作 DisallowStartIfOnBatteries 屬性設定為 true,這表示當電腦在電池電源上執行時,工作排程器服務不會執行由閑置觸發程式觸發的工作(或具有閑置條件的觸發程式)。 您可以將 DisallowStartIfOnBatteries 屬性設定為 false,來變更此行為。
如果工作是由閑置觸發程式觸發,則會忽略 IIdleSettings 介面的 WaitTimeout 属性(Scripting 的 IdleSettings)。
應用程式可以在 IIdleSettings 和 IIdleTrigger 介面中設定屬性,來控制閑置條件。
如果讀取或寫入 XML,這些條件會在工作排程器架構的 Settings 元素中指定。
迴圈閑置條件
如果計算機正在迴圈進出閑置狀態,您可以使用下列閑置條件終止並重新啟動工作。 若要終止並重新啟動工作,屬性和元素都必須設定為 True:
- 若要在閑置條件結束時終止工作,請將 stopOnIdleEnd 屬性或 StopOnIdleEnd 元素設定為 True。
- 若要在計算機再次循環進入閑置狀態時重新啟動工作,請將 RestartOnIdle 屬性或 RestartOnIdle 元素設定為 True。