Condizioni di inattività delle attività
Un'attività può essere gestita in diversi modi quando il computer entra in uno stato di inattività. Ciò include la definizione di un trigger inattiva o l'impostazione delle condizioni di inattività per l'avvio dell'attività.
Rilevamento dello stato di inattività
In Windows 7, l'Utilità di pianificazione verifica che il computer sia inattiva ogni 15 minuti. L'Utilità di pianificazione controlla lo stato di inattività usando due criteri: assenza dell'utente e mancanza di consumo di risorse. L'utente viene considerato assente se non è presente alcun input da tastiera o mouse durante questo periodo di tempo. Il computer viene considerato inattiva se tutti i processori e tutti i dischi sono inattive per più del 90% dell'ultimo intervallo di rilevamento. Si tratta di un'eccezione per qualsiasi applicazione del tipo di presentazione che imposta il flag di ES_DISPLAY_REQUIRED. Questo flag impone a Pianificazione attività di non considerare il sistema come inattiva, indipendentemente dall'attività dell'utente o dal consumo di risorse.
In Windows 7, Utilità di pianificazione considera un processore inattiva anche quando i thread con priorità bassa (normale priorità < thread) sono eseguiti.
In Windows 7, quando l'Utilità di pianificazione rileva che il computer è inattiva, il servizio attende solo che l'input dell'utente contrassegni la fine dello stato di inattività.
In Windows 8, Utilità di pianificazione esegue gli stessi controlli generali sull'assenza dell'utente e sull'utilizzo delle risorse. Tuttavia, l'Utilità di pianificazione si basa sul sottosistema di alimentazione del sistema operativo per rilevare la presenza dell'utente. Per impostazione predefinita, l'utente viene considerato assente dopo quattro minuti senza input da tastiera o mouse. Il tempo di verifica dell'utilizzo delle risorse viene abbreviato a intervalli di 10 minuti quando l'utente è presente. Quando l'utente è assente, il tempo di verifica viene abbreviato a 30 secondi. L'Utilità di pianificazione esegue controlli aggiuntivi sull'utilizzo delle risorse per gli eventi seguenti:
- Stato di presenza utente modificato
- Fonte di alimentazione AC/DC modificata
- Il livello della batteria è cambiato (solo quando sono in batteria)
Quando si verifica uno degli eventi precedenti, Utilità di pianificazione testa il computer per verificare l'inattività dall'ora dell'ultima verifica. In pratica, questo significa che l'Utilità di pianificazione attività può dichiarare il sistema come inattiva immediatamente dopo che è stata rilevata l'assenza dell'utente, se le altre condizioni sono state soddisfatte dall'ora dell'ultima verifica.
In Windows 8 le soglie di CPU e I/O sono impostate sull'80%.
Quando si rileva lo stato di inattività in Windows 8 Server, l'Utilità di pianificazione non tiene conto della presenza o dell'assenza dell'utente. Per contrassegnare la fine dello stato di inattività, Utilità di pianificazione modifica il consumo delle risorse una volta in 90 minuti.
Definizione di un trigger inattiva
Un'attività può essere avviata quando il computer entra in uno stato di inattività definendo un trigger inattiva.
Un trigger inattiva attiverà un'azione di attività solo se il computer entra in uno stato di inattività dopo il limite di avvio del trigger.
Un'applicazione può definire un trigger inattivo usando l'interfaccia IIdleTrigger .
Se si legge o si scrive xml, il trigger di inattività viene specificato dall'elemento IdleTrigger dello schema dell'utilità di pianificazione.
Impostazioni delle attività per le condizioni di inattività
Le impostazioni dell'attività possono essere usate per definire il modo in cui l'Utilità di pianificazione gestisce l'attività quando il computer entra in uno stato di inattività.
Le illustrazioni seguenti forniscono tre possibili sequenze temporali che mostrano la correlazione tra queste diverse condizioni di inattività. Tenere presente che le illustrazioni iniziano quando il trigger di attività viene attivato o quando l'attività viene avviata su richiesta (senza richiedere di ignorare i vincoli di attività esistenti).
Nota
Le impostazioni Duration e WaitTimeout sono deprecate. Sono ancora presenti nell'interfaccia utente dell'Utilità di pianificazione e i relativi metodi di interfaccia possono comunque restituire valori validi, ma non vengono più usati.
Nell'elenco seguente vengono descritte le condizioni di inattività.
- Avvio inattiva: ora in cui il computer entra nello stato di inattività.
- Fine inattiva: ora in cui il computer esce dallo stato di inattività. Tenere presente che il tempo di inattività del computer è indipendente dal tempo di inattività descritto in precedenza.
L'attesa inattiva e la durata inattiva sono state deprecate.
- Attesa inattiva: intervallo di tempo durante il quale l'Utilità di pianificazione attenderà che si verifichi uno stato di inattività dopo l'attivazione di un trigger di attività o dopo l'avvio dell'attività su richiesta.
- Durata inattiva: periodo di tempo in cui si desidera che il computer sia inattiva prima di avviare l'attività.
Ad esempio, se un'attività è impostata per l'avvio solo se il computer è inattivo per 30 minuti e l'attività attende che il computer sia inattivo per 10 minuti, l'attività verrà avviata in 5 minuti solo se il computer è rimasto inattivo per 25 minuti prima del momento in cui il trigger è stato attivato. L'attività non verrà avviata se il computer entra in uno stato di inattività di 5 minuti dopo l'attivazione del trigger.
Per impostazione predefinita, una proprietà DisallowStartIfOnBatteries è impostata su true, il che significa che il servizio Utilità di pianificazione non eseguirà le attività attivate da un trigger di inattività (o un trigger con condizioni di inattività) quando un computer è in esecuzione sull'alimentazione a batteria. È possibile modificare questo comportamento impostando la proprietà DisallowStartIfOnBatteries su false.
Se un'attività viene attivata da un trigger inattivo, la proprietà WaitTimeout dell'interfaccia IIdleSettings (IdleSettings per la creazione di script) viene ignorata.
Le applicazioni possono controllare le condizioni di inattività impostando le proprietà nelle interfacce IIdleSettings e IIdleTrigger .
Se si legge o si scrive codice XML, queste condizioni vengono specificate nell'elemento Settings dello schema dell'utilità di pianificazione.
Condizione di inattività del ciclo
Se il computer è in bicicletta e fuori dallo stato di inattività, è possibile terminare e riavviare l'attività usando le condizioni di inattività seguenti. Per terminare e riavviare un'attività, sia le proprietà che gli elementi devono essere impostati su True:
- Per terminare l'attività al termine della condizione di inattività, impostare la proprietà StopOnIdleEnd o l'elemento StopOnIdleEnd su True.
- Per riavviare l'attività quando il computer passa nuovamente alla condizione di inattività, impostare la proprietà RestartOnIdle o l'elemento RestartOnIdle su True.