Conditions d’inactivité des tâches
Une tâche peut être gérée de plusieurs façons lorsque l’ordinateur entre dans un état inactif. Cela inclut la définition d’un déclencheur inactif ou la définition des conditions d’inactivité pour le démarrage de la tâche.
Détection de l’état inactif
Dans Windows 7, le planificateur de tâches vérifie que l’ordinateur est dans un état inactif toutes les 15 minutes. Le planificateur de tâches recherche un état inactif à l’aide de deux critères : l’absence de l’utilisateur et l’absence de consommation des ressources. L’utilisateur est considéré comme absent s’il n’y a pas d’entrée au clavier ou à la souris pendant cette période. L’ordinateur est considéré comme inactif si tous les processeurs et tous les disques étaient inactifs pendant plus de 90 % du dernier intervalle de détection. (Une exception concerne toute application de type de présentation qui définit l’indicateur ES_DISPLAY_REQUIRED. Cet indicateur force la planification des tâches à ne pas considérer le système comme inactif, quelle que soit l’activité de l’utilisateur ou la consommation de ressources.)
Dans Windows 7, le planificateur de tâches considère qu’un processeur est inactif même lorsque des threads de faible priorité (priorité < de thread normal) s’exécutent.
Dans Windows 7, lorsque le planificateur de tâches détecte que l’ordinateur est inactif, le service attend uniquement que l’entrée de l’utilisateur marque la fin de l’état inactif.
Dans Windows 8, le Planificateur de tâches effectue les mêmes vérifications générales de l’absence de l’utilisateur et de la consommation des ressources. Toutefois, le planificateur de tâches s’appuie sur le sous-système d’alimentation du système d’exploitation pour détecter la présence des utilisateurs. Par défaut, l’utilisateur est considéré comme absent après quatre minutes d’absence de clavier ou de souris. Le temps de vérification de la consommation des ressources est réduit à 10 minutes lorsque l’utilisateur est présent. Lorsque l’utilisateur est absent, le temps de vérification est réduit à 30 secondes d’intervalles. Le planificateur de tâches effectue des vérifications supplémentaires de la consommation des ressources pour les événements suivants :
- État de présence utilisateur modifié
- Source d’alimentation CA/DC modifiée
- Niveau de la batterie modifié (uniquement en cas de batterie)
Lorsque l’un des événements ci-dessus se produit, le planificateur de tâches teste l’inactivité de l’ordinateur depuis la dernière vérification. Dans la pratique, cela signifie que le planificateur de tâches peut déclarer le système inactif immédiatement après la détection de l’absence de l’utilisateur, si les autres conditions ont été remplies depuis la dernière vérification.
Dans Windows 8, les seuils de processeur et d’E/S sont définis sur 80 %.
Lors de la détection de l’état d’inactivité dans Windows 8 Server, le Planificateur de tâches ne prend pas en compte la présence ou l’absence de l’utilisateur. Pour marquer la fin de l’état d’inactivité, le planificateur de tâches révise la consommation des ressources une fois toutes les 90 minutes.
Définition d’un déclencheur inactif
Une tâche peut être démarrée lorsque l’ordinateur passe à l’état inactif en définissant un déclencheur inactif.
Un déclencheur inactif déclenche une action de tâche uniquement si l’ordinateur entre dans un état inactif après la limite de démarrage du déclencheur.
Une application peut définir un déclencheur inactif à l’aide de l’interface IIdleTrigger .
Si vous lisez ou écrivez du code XML, le déclencheur inactif est spécifié par l’élément IdleTrigger du schéma du planificateur de tâches.
Paramètres de tâche pour les conditions d’inactivité
Les paramètres de tâche peuvent être utilisés pour définir la façon dont le planificateur de tâches gère la tâche lorsque l’ordinateur entre dans un état inactif.
Les illustrations suivantes fournissent trois chronologies possibles qui montrent comment ces différentes conditions d’inactivité sont liées les unes aux autres. N’oubliez pas que les illustrations démarrent lorsque le déclencheur de tâche est activé ou lorsque la tâche est démarrée à la demande (sans demander à ignorer les contraintes de tâche existantes).
Notes
Les paramètres Duration et WaitTimeout sont déconseillés. Ils sont toujours présents dans l’interface utilisateur du Planificateur de tâches, et leurs méthodes d’interface peuvent toujours retourner des valeurs valides, mais elles ne sont plus utilisées.
La liste suivante décrit les conditions d’inactivité.
- Début inactif : heure à laquelle l’ordinateur passe à l’état inactif.
- Fin d’inactivité : heure à laquelle l’ordinateur sort de l’état inactif. N’oubliez pas que la durée d’inactivité de l’ordinateur est indépendante de la durée d’inactivité décrite précédemment.
L’attente d’inactivité et la durée d’inactivité ont été déconseillées.
- Attente inactive : durée pendant laquelle le planificateur de tâches attend qu’un état d’inactivité se produise après l’activation d’un déclencheur de tâche ou après le démarrage de la tâche à la demande.
- Durée d’inactivité : durée pendant laquelle vous souhaitez que l’ordinateur soit inactif avant de démarrer la tâche.
Par exemple, si une tâche est définie pour démarrer uniquement si l’ordinateur est inactif pendant 30 minutes et que la tâche attend que l’ordinateur soit inactif pendant 10 minutes, la tâche ne démarre en 5 minutes que si l’ordinateur a été inactif pendant 25 minutes avant l’activation du déclencheur. La tâche ne démarre pas si l’ordinateur passe à l’état inactif 5 minutes après l’activation du déclencheur.
Par défaut, la propriété DisallowStartIfOnBatteries d’une tâche est définie sur true, ce qui signifie que le service Planificateur de tâches n’exécute pas les tâches déclenchées par un déclencheur inactif (ou un déclencheur avec des conditions d’inactivité) lorsqu’un ordinateur fonctionne sur batterie. Vous pouvez modifier ce comportement en définissant la propriété DisallowStartIfOnBatteries sur false.
Si une tâche est déclenchée par un déclencheur inactif, la propriété WaitTimeout de l’interface IIdleSettings (IdleSettings pour les scripts) est ignorée.
Les applications peuvent contrôler les conditions d’inactivité en définissant les propriétés dans les interfaces IIdleSettings et IIdleTrigger .
Si vous lisez ou écrivez du code XML, ces conditions sont spécifiées dans l’élément Settings du schéma du planificateur de tâches.
Condition d’inactivité de cycle
Si l’ordinateur entre et sort de l’état inactif, vous pouvez arrêter et redémarrer la tâche en utilisant les conditions d’inactivité suivantes. Pour arrêter et redémarrer une tâche, les propriétés et les éléments doivent avoir la valeur True :
- Pour terminer la tâche à la fin de la condition d’inactivité, affectez la valeur True à la propriété StopOnIdleEnd ou à l’élément StopOnIdleEnd .
- Pour redémarrer la tâche lorsque l’ordinateur revient dans la condition d’inactivité, définissez la propriété RestartOnIdle ou l’élément RestartOnIdle sur True.