quarta-feira, 2 de maio de 2012

Como alterar a prioridade de uma tarefa agendada no Windows

Gostaria de inaugurar este blog com a publicação de um problema do Agendador de Tarefas (se é que podemos chamá-lo de problema), já que pouco se encontra na internet falando a respeito. Vamos ao que interessa...

Quando você cria uma tarefa agendada para executar um arquivo .bat ou (acredito eu) algum outro tipo de executável, talvez você tenha percebido que esse arquivo é executado com uma velocidade inferior à execução manual (quando você da um duplo clique sobre ele).

Depois de alguns testes realizados, descobri que o motivo de uma execução mais lenta trata-se da prioridade com que o Windows trata este processo.

Vejamos: O Windows possui 11 níveis de prioridade para execução de processos, de 0 a 10, sendo que 0 representa a prioridade mais alta, e 10 a mais baixa.

Lista completa das prioridades para execução de tarefas no Windows¹:

0: Prioridade em tempo real
1: Prioridade alta
2: Prioridade acima do normal
3: Prioridade acima do normal
4: Prioridade normal
5: Prioridade normal
6: Prioridade normal
7: Prioridade abaixo do normal
8: Prioridade abaixo do normal
9: Prioridade ociosa
10: Prioridade ociosa

Uma tarefa como esta, por padrão do Windows, é executada com prioridade 7. Como a interface do Agendador de Tarefas não permite que você defina qual a prioridade você quer usar, faremos isso manualmente:

1: Após criar sua tarefa, clique com o botão direito em cima dela, e então, clique em Exportar.
2: Clique em Salvar. Por padrão, a tarefa será exportada em um arquivo com formato XML.
3: Abra o arquivo exportado no Bloco de Notas.
4: Localize a linha <Priority>7</Priority>.
5: Altere o valor 7 para o valor desejado, e depois salve o arquivo. (Eu utilizei o valor 1 pois minha tarefa era crítica. Apenas para referência, um arquivo que você executa manualmente possui prioridade de 4 a 6).
6: No Agendador de Tarefas, clique no menu Ação, e então, clique em Importar Tarefa....
7: Selecione o arquivo XML.

Pronto! A prioridade da sua tarefa foi alterada!
Você pode testar diferentes níveis de prioridades, lembrando que cada nível fornecerá um desempenho conforme a quantidade de processos atualmente ativos no sistema.

Eng. Thiago


Agradeço a todos pela visita, e informo-lhes que publicarei neste blog informações, tutoriais e dicas sobre tecnologia e situações de TI que vivemos no dia a dia.


Sistemas testados: Windows 7 e Windows Server 2008.
Fontes: 1-Lista disponível no artigo
TaskSettings.Priority property.

4 comentários:

  1. Estava tentando entender porque um programa que coloquei para iniciar com o agendador demorava tanto e só encontrei a resposta aqui, vlw pela dica, muito boa!

    ResponderExcluir
  2. Ótimo esse post! ajudou bastante, muito obrigado!

    ResponderExcluir
  3. Muito Bom!! Quando se trata de prioridades do Agendador de Tarefas esse post está em primeiro lugar nas pesquisas do Google. 2019 e foi bastante útil pra mim. Muito Obrigado!!

    ResponderExcluir
  4. Finalmente uma solução pra esse problema de definir uma prioridade alta para o processo agendado. Parabéns! Muito obrigado

    ResponderExcluir