Eu tenho uma tarefa agendada que está configurada para ser eliminada 23 horas após o início. Quando eu exporto a tarefa para XML, posso verificar essa configuração porque vejo a linha:
<ExecutionTimeLimit>PT23H</ExecutionTimeLimit>
No entanto, a tarefa está sendo morta depois de 20 horas.
A tarefa começa às 18h todos os dias. Observando o histórico de tarefas, vejo que o TaskScheduler encerrou a tarefa "devido ao tempo limite atingido" às 2:00:01 do dia seguinte. É claro que deveria ter terminado às 17h, se não terminasse antes, por conta própria.
Como posso fazer com que a alteração na configuração tenha efeito?
Eu tentei exportar a tarefa para XML, excluí-la e reimportar a partir do XML. Isso não funcionou, por um lado, a guia de histórico ainda mostra todos os eventos antigos para a tarefa (excluída); é como se não tivesse sido totalmente eliminado.
Eu também desativei a tarefa e a reimportei de XML com outro nome. Essa nova tarefa também falhou após 20 horas. Definir o intervalo para 24 horas (para ver se ele é eliminado após 21) não funciona, ele ainda termina após 20 horas. Da mesma forma, definir o tempo limite para o número equivalente de segundos (para 23 horas) também expira após 20 horas.
Isso está no Windows Server 2008 R2 Enterprise Service Pack 1. Isso parece um erro sério. Infelizmente, a atualização para o servidor 2012 não é uma opção a curto prazo.
Aqui está a definição da tarefa exportada para XML (sim, aqueles personagens engraçados no início estavam lá no original). Neste caso, eu tinha definido o tempo limite para 1435 minutos e é processado abaixo como 23 horas e 55 minutos.
��<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2015-08-12T19:02:20.0562727</Date>
<Author>MOSCATO2\Administrator</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2015-08-12T18:00:00</StartBoundary>
<ExecutionTimeLimit>PT20H</ExecutionTimeLimit>
<Enabled>true</Enabled>
<ScheduleByWeek>
<DaysOfWeek>
<Sunday />
<Monday />
<Tuesday />
<Wednesday />
<Thursday />
<Saturday />
</DaysOfWeek>
<WeeksInterval>1</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>MOSCATO2\biocbuild</UserId>
<LogonType>Password</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT23H55M</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>E:\biocbld\BBS.3\bioc\moscato2\run.bat</Command>
<Arguments>>> e:\biocbld\bbs-3.3-bioc\log\MOSCATO2.log 2>&1</Arguments>
<WorkingDirectory>E:\biocbld\BBS.3\bioc\moscato2</WorkingDirectory>
</Exec>
</Actions>
</Task>