a tarefa agendada do Windows foi interrompida (expirou) muito cedo

2

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>&gt;&gt; e:\biocbld\bbs-3.3-bioc\log\MOSCATO2.log 2&gt;&amp;1</Arguments> <WorkingDirectory>E:\biocbld\BBS.3\bioc\moscato2</WorkingDirectory> </Exec> </Actions> </Task>

    
por Dan Tenenbaum 10.03.2016 / 00:04

2 respostas

3

O Trigger ExecutionTimeLimit tem prioridade sobre o Task ExecutionTimeLimit.

<ExecutionTimeLimit>PT20H</ExecutionTimeLimit>  

Se ambos forem especificados, o limite de tempo da tarefa é tradicionalmente definido como um valor maior (ou igual).

TBH, deve haver algum tipo de aviso visível alertando se uma tarefa é configurada dessa maneira.

    
por 31.03.2016 / 01:17
0

Você tem 2 ExecutionTimeLimit

1 nos gatilhos definidos como       ExecutionTimeLimit-PT20H-ExecutionTimeLimit

1 nas configurações definidas como       ExecutionTimeLimit-PT23H55M-ExecutionTimeLimit

Altere-os para que fiquem iguais e tudo ficará bem.

    
por 31.03.2016 / 13:07