O Agendador de Tarefas do Windows XP é confiável o suficiente para ser confiável em tarefas importantes?

5

Eu pergunto porque o software que minha empresa está prestes a usar requer uma única estação de trabalho (Windows) para executar um pequeno programa de automação a cada noite para incrementar vários campos no banco de dados. Tenho certeza de que não sou o único que acha que esse é um projeto terrível, mas não há muito que eu possa fazer sobre isso no momento (pelo menos até que eu tenha tempo de descobrir o que exatamente está fazendo e substituí-lo por um cron script perl -able).

No passado, minhas únicas relações com o assistente do agendador de tarefas do Windows eram para tarefas domésticas diversas há vários anos. Lembro-me de algumas tarefas que não foram executadas, ou outras que apenas funcionam intermitentemente.

Supondo que a tarefa esteja configurada corretamente, posso confiar no agendador de tarefas do Windows XP para executar ALWAYS esta tarefa ou ela não é confiável?

    
por DWilliams 15.07.2009 / 04:57

8 respostas

2

Temos vários sistemas "críticos" nos quais nossos fornecedores optaram por depender do Gerenciador de Tarefas do Windows. Os únicos problemas que eu já vi seriam; tempos de execução perdidos quando a máquina está desligada (não é uma fila de tarefas), tarefas que falham simplesmente porque foram configuradas incorretamente, o executável ou script em si falha toda vez que o gerenciador de tarefas o chama e, o maior problema de todos foi, o usuário conta configurada para a tarefa específica sendo bloqueada por vários motivos.

Para evitar o problema de bloqueio de conta, recomendo criar uma conta especial para a tarefa ou um pequeno truque que encontrei, se a tarefa não precisar de acesso à rede, você pode programá-la para ser executada como Sistema com uma senha em branco .

Por fim, monitoramos automaticamente ou manualmente todas as tarefas críticas. Apenas no caso.

Você mencionou que essa tarefa era para um banco de dados. Esse banco de dados é um Microsoft SQL Server? Se assim for, você vai querer olhar para o SQL Server Agent .

    
por 15.07.2009 / 05:49
1

Eu diria que o próprio scheduler é confiável como o sistema operacional em que está sendo executado.

Principalmente, lidei com o agendador de tarefas no Server 2000 e 2003 em vez de no XP, mas não consigo me lembrar de uma falha de tarefa agendada para uma tarefa relacionada a um mau funcionamento real do agendador.

Se essa é a configuração recomendada para este software, tenho certeza de que o fornecedor deve confiar no Agendador de tarefas do XP.

    
por 15.07.2009 / 05:03
0

É difícil dizer qualquer coisa "SEMPRE" sobre um computador, mas geralmente tive boa sorte com o Agendador de Tarefas do XP (e com os equivalentes do Windows Server). XP, sendo um dos sistemas operacionais NT, geralmente tem sido bastante estável para mim.

Eu daria uma chance.

    
por 15.07.2009 / 05:01
0

Depende da estabilidade da tarefa. Eu tive que executar trabalhos diários que terminam de forma limpa, de uma forma ou de outra, correndo por anos sem problema. Mas também vi casos em que um trabalho não termina porque o script está travado. Embora haja um "kill after X quantidade de tempo" configurável para cada tarefa, eu vi que falhar.

Também vi situações de falha em que uma tarefa está programada para ser executada em intervalos periódicos quando a tarefa foi executada durante o tempo da próxima execução. Na mesma linha, eu tinha um roteiro a cada 5 minutos que consultava nossos servidores DNS. As consultas terminaram em cerca de 20 a 30 segundos e nunca vimos esses scripts falharem quando executados pelo Agendador de Tarefas.

    
por 15.07.2009 / 05:10
0

Eu estaria inclinado a responder "sim", mas apenas enquanto você puder ter certeza de que a máquina estará funcionando naquele horário designado. Se a máquina ficar inativa por qualquer motivo, a tarefa agendada não será executada quando a máquina for reinicializada. Ou seja, o agendador não procura ver se algum agendamento foi perdido.

Se for crítico que a tarefa seja executada, certifique-se de que o PC esteja pelo menos conectado a um no-break.

    
por 15.07.2009 / 05:12
0

Eu tive boa sorte com o próprio programador sendo executado corretamente, embora eu tenha visto as tarefas falharem sem qualquer indicação clara devido a problemas como permissões.

Sugiro construir algum código de depuração ou notificação no script que realmente executa a tarefa. Dessa forma, você pode monitorar passivamente o script quando é novo e, ocasionalmente, monitorá-lo à medida que aumenta sua confiança em sua confiabilidade.

    
por 15.07.2009 / 06:24
0

Eu nunca tive problemas com o agendador de tarefas, no entanto, se a estação de trabalho estiver desligada, o aplicativo não será executado (obviamente).

Se você estiver executando tarefas em nível de banco de dados, a maioria dos RDBMS permitirá que você agende uma consulta / tarefa para ser executada no nível do DBMS para remover a dependência de tarefas de terceiros. Esse pode ser um método mais seguro, se for prático (a mesma coisa se aplica para executar um trabalho cron).

    
por 15.07.2009 / 06:39
0

Eu estava procurando na internet há alguns meses sobre esse tipo de problema, e minha pesquisa surgiu com um claro "Não" à sua pergunta.

    
por 15.07.2009 / 06:40