Como descobrir o motivo pelo qual uma tarefa agendada está parada?

1

Eu agendei um grande número de tarefas no meu Windows 7, executando vários cron jobs em minhas máquinas.

Tenho certeza absoluta de que essas tarefas, quando executadas por conta própria, não serão suspensas. Mas o problema é que, quando eu os executo diariamente, ao longo de vários dias, semanas e meses, ocasionalmente alguns deles serão interrompidos.

Então eu sou forçado a matar a tarefa enforcada e reexecutá-la --- e agora ela pode ser executada com sucesso!

Eu quero corrigir esse problema de uma vez por todas e, para isso, preciso saber por que uma tarefa agendada será interrompida, mesmo quando eu a executar separadamente, não.

De qualquer forma, para eu descobrir o motivo?

    
por Graviton 22.08.2014 / 09:55

2 respostas

1

Quando você verifica suas tarefas, ele mostra o status da última execução na extrema direita. Isso geralmente mostra porque a tarefa falha. É possível que a tarefa tenha sido interrompida durante a execução, mesmo que tenha sido processada normalmente, portanto, a tarefa continua em execução e, portanto, não falha tecnicamente.

Como resultado, na próxima vez que a tarefa deve ser executada, ela não é executada porque uma tarefa anterior ainda estava em execução. Então o erro se torna: Tarefa anterior ainda é executada.

Eu costumo contrabalançar isso definindo que o tempo máximo de execução é menor do que quando a próxima tarefa está agendada para ser executada. Se eu sei que a tarefa só deve rodar alguns minutos no máximo, eu normalmente coloco a força para 5 minutos e habilito o reinício das tarefas algumas vezes. Isso garantirá que, se a tarefa, por qualquer motivo, não for executada corretamente, será interrompida e executada novamente. Se o taskscheduler obtiver o OK de que a tarefa foi executada corretamente, ela não tentará novamente a tarefa outra vez.

    
por 22.08.2014 / 10:30
2

Eu sugeriria começar com o EventViewer como se fosse um travamento, ele deve ser registrado.

Você também pode adicionar algumas funcionalidades de log ao seu programa para ver qual módulo / tarefa está falhando.

Excluído como LPChip realizado escreveu similarmente: Além disso, como um trabalho total, no scheudler de tarefas, você pode forçá-lo a sair se levar mais de 72 horas para concluir (acho que isso é padrão). Se você sabe que a tarefa deve levar apenas alguns minutos para ser concluída, mude esse valor para 30 minutos (dê a si mesmo muita atenção). Isso não ajudará a resolvê-lo, mas se for algo que você precisa seguir, pode ser suficiente enquanto você depura mais.

    
por 22.08.2014 / 11:42