Partilhar via


Condições de inatividade da tarefa

Uma tarefa pode ser tratada de várias maneiras quando o computador entra em um estado ocioso. Isso inclui definir um gatilho ocioso ou definir as condições ociosas para quando a tarefa for iniciada.

Detetando o estado ocioso

No Windows 7, o Agendador de Tarefas verifica se o computador está em um estado ocioso a cada 15 minutos. O Agendador de Tarefas verifica se há um estado ocioso usando dois critérios: ausência do usuário e falta de consumo de recursos. O usuário é considerado ausente se não houver entrada de teclado ou mouse durante este período de tempo. O computador é considerado ocioso se todos os processadores e todos os discos estiveram ociosos por mais de 90% do último intervalo de deteção. (Uma exceção seria para qualquer aplicativo de tipo de apresentação que defina o sinalizador ES_DISPLAY_REQUIRED. Esse sinalizador força o Agendamento de Tarefas a não considerar o sistema como ocioso, independentemente da atividade do usuário ou do consumo de recursos.)

No Windows 7, o Agendador de Tarefas considera um processador como ocioso, mesmo quando threads de baixa prioridade (prioridade de thread < normal) são executados.

No Windows 7, quando o Agendador de Tarefas deteta que o computador está ocioso, o serviço aguarda apenas a entrada do usuário para marcar o fim do estado ocioso.

No Windows 8, o Agendador de Tarefas executa as mesmas verificações gerais de ausência de usuário e consumo de recursos. No entanto, o Agendador de Tarefas depende do subsistema de energia do sistema operacional para detetar a presença do usuário. Por padrão, o usuário é considerado ausente após quatro minutos sem entrada de teclado ou mouse. O tempo de verificação do consumo de recursos é reduzido para intervalos de 10 minutos quando o usuário está presente. Quando o usuário está ausente, o tempo de verificação é reduzido para intervalos de 30 segundos. O Agendador de Tarefas faz verificações adicionais de consumo de recursos para os seguintes eventos:

  • Estado de presença do usuário alterado
  • Fonte de alimentação AC/DC alterada
  • Nível da bateria alterado (apenas quando ligado às baterias)

Quando qualquer um dos eventos acima acontece, o Agendador de Tarefas testa o computador quanto à ociosidade desde a última hora de verificação. Na prática, isso significa que o Agendador de Tarefas pode declarar o sistema como ocioso imediatamente após a ausência do usuário ser detetada, se as outras condições tiverem sido atendidas desde o último tempo de verificação.

No Windows 8, os limites de CPU e E/S são definidos como 80%.

Ao detetar o estado ocioso no Windows 8 Server, o Agendador de Tarefas não leva em conta a presença ou ausência do usuário. Para marcar o fim do estado ocioso, o Agendador de Tarefas revisa o consumo de recursos uma vez a cada 90 minutos.

Definindo um gatilho ocioso

Uma tarefa pode ser iniciada quando o computador entra em um estado ocioso, definindo um gatilho ocioso.

Um gatilho ocioso só acionará uma ação de tarefa se o computador entrar em um estado ocioso após o limite de início do gatilho.

Um aplicativo pode definir um gatilho ocioso usando a interfaceIIdleTrigger.

Se estiver lendo ou gravando XML, o gatilho ocioso será especificado pelo elemento IdleTrigger do esquema do Agendador de Tarefas.

Configurações de tarefas para condições ociosas

As configurações da tarefa podem ser usadas para definir como o Agendador de Tarefas lida com a tarefa quando o computador entra em um estado ocioso.

As ilustrações a seguir fornecem três linhas do tempo possíveis que mostram como essas diferentes condições ociosas se relacionam entre si. Lembre-se de que as ilustrações começam quando o gatilho de tarefa é ativado ou quando a tarefa é iniciada sob demanda (sem solicitar ignore as restrições de tarefa existentes).

Observação

As configurações Duration e WaitTimeout foram preteridas. Eles ainda estão presentes na interface do usuário do Agendador de Tarefas, e seus métodos de interface ainda podem retornar valores válidos, mas não são mais usados.

cronograma de condição ociosa

A lista a seguir descreve as condições ociosas.

  • Início ocioso: o momento em que o computador entra no estado ocioso.
  • Extremidade ociosa: a hora em que o computador sai do estado ocioso. Lembre-se de que a quantidade de tempo que o computador está no estado ocioso é independente do tempo de duração ocioso descrito anteriormente.

A espera ociosa e a duração ociosa foram preteridas.

  • Espera ociosa: a quantidade de tempo que o Agendador de Tarefas aguardará que um estado ocioso ocorra depois que um gatilho de tarefa for ativado ou depois que a tarefa for iniciada sob demanda.
  • Duração ociosa: a quantidade de tempo que você deseja que o computador tenha ficado ocioso antes de iniciar a tarefa.

Por exemplo, se uma tarefa estiver definida para iniciar somente se o computador estiver ocioso por 30 minutos e a tarefa esperar que o computador fique ocioso por 10 minutos, a tarefa será iniciada em 5 minutos somente se o computador tiver ficado ocioso por 25 minutos antes do momento em que o gatilho foi ativado. A tarefa não será iniciada se o computador entrar em um estado ocioso 5 minutos após o gatilho ser ativado.

Por padrão, uma tarefa a propriedade DisallowStartIfOnBatteries é definida como true, o que significa que o serviço Agendador de Tarefas não executará tarefas acionadas por um gatilho ocioso (ou um gatilho com condições ociosas) quando um computador estiver funcionando com bateria. Você pode alterar esse comportamento definindo a propriedade DisallowStartIfOnBatteries como false.

Se uma tarefa for acionada por um gatilho ocioso, a propriedade WaitTimeout da interfaceIIdleSettings do(IdleSettings para script) será ignorada.

Os aplicativos podem controlar as condições ociosas definindo as propriedades noIIdleSettings e interfaces de IIdleTrigger.

Se estiver lendo ou gravando XML, essas condições serão especificadas no elementoConfigurações dedo esquema do Agendador de Tarefas.

Andar de bicicleta em marcha lenta sem carga

Se o computador estiver entrando e saindo do estado ocioso, você poderá encerrar e reiniciar a tarefa usando as seguintes condições de ociosidade. Para encerrar e reiniciar uma tarefa, as propriedades e os elementos devem ser definidos como True:

  • Para encerrar a tarefa quando a condição ociosa terminar, defina a propriedade StopOnIdleEnd ou o elemento StopOnIdleEnd como True.
  • Para reiniciar a tarefa quando o computador entrar na condição ociosa novamente, defina a propriedadeRestartOnIdle ou o elementoRestartOnIdle como True.