Actualización: Esto ha sucedido ahora dos días seguidos.
Actualización: XML de tareas programadas e imágenes ahora incluidas.
Dos servidores ubicados en Londres, ambos Windows 2012, tienen una tarea programada para ejecutarse a las 3 p.m. Esto se ha configurado durante los últimos 5 meses sin ningún problema.
Sin embargo, el lunes 28 de agosto ambos ejecutaron la tarea programada a las 3 p.m. y luego nuevamente a las 4 p.m. Cuando se informó por primera vez, pensé que era una gran coincidencia el día después de que los relojes hubieran retrocedido una hora. Sin embargo, no puedo explicar por qué sucedió y si está relacionado con el cambio de reloj.
Los registros relevantes de un servidor (los registros para el otro también siguen este patrón):
Evento 129 15:00:20 Tarea de inicio del Programador de tareas "\ 3pm", instancia "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php.exe" con ID de proceso 2388.
Evento 100 15:00:20 El Programador de tareas inició "{75a3590f-dec1-4dee-bd27-73d63a50a9d7}" instancia de la tarea "\ 3pm" para el usuario "x \ y".
Evento 200 15:00:20 El Programador de tareas lanzó la acción "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php.exe" en la instancia "{75a3590f-dec1-4dee-bd27-73d63a50a9d7}" de la tarea "\ 3pm ".
Evento 201 15:00:23 El Programador de tareas completó con éxito la tarea "\ 3pm", instancia "{75a3590f-dec1-4dee-bd27-73d63a50a9d7}", acción "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php .exe "con el código de retorno 0.
Evento 129 16:00:20 Tarea de inicio del Programador de tareas "\ 3pm", instancia "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php.exe" con ID de proceso 1224.
Evento 100 16:00:20 El Programador de tareas inició "{3dd46ca9-c525-4796-86b5-5e513fd45f26}" instancia de la tarea "\ 3pm" para el usuario "x \ y".
Evento 200 16:00:20 El Programador de tareas lanzó la acción "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php.exe" en la instancia "{3dd46ca9-c525-4796-86b5-5e513fd45f26}" de la tarea "\ 3pm ".
Evento 201 16:00:23 El Programador de tareas completó con éxito la tarea "\ 3pm", instancia "{3dd46ca9-c525-4796-86b5-5e513fd45f26}", acción "C: \ Archivos de programa (x86) \ PHP \ v5.4 \ php .exe "con el código de retorno 0.
He visto esta pregunta Tarea programada ejecutándose dos veces de vez en cuando que apunta a un error en http://support.microsoft.com/kb/2461249 como la causa. Sin embargo, esto no incluye Server 2012 en su lista de sistemas operativos problemáticos.
Estoy luchando por explicar esto, ¿alguien más?
La exportación XML para la tarea programada es:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2013-04-16T14:04:17.4897806</Date>
<Author>x\y</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2013-04-17T15:00:20</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByWeek>
<DaysOfWeek>
<Monday />
<Tuesday />
<Wednesday />
<Thursday />
<Friday />
</DaysOfWeek>
<WeeksInterval>1</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>x\y</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>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>"C:\Program Files (x86)\PHP\v5.4\php.exe"</Command>
<Arguments>-f "c:\a.php"</Arguments>
</Exec>
</Actions>
</Task>
29 de octubre 17:00 - Actualización - Ambos servidores han vuelto a ejecutar la tarea programada a las 15:00 y 16:00. Ahora actualicé el archivo php que ejecuta el planificador para no hacer nada mientras intento resolver esto. Estoy planeando reiniciar un servidor para ver si esto cambia algo mañana.
30 de octubre, 08:25 - Actualización: al exportar la tarea XML, recordé que no había incluido el hecho de que la tarea programada en el segundo servidor se creó importando el XML de la tarea creada en el primero. La única diferencia entre las dos tareas es la ruta del archivo php que están ejecutando y la cuenta de usuario con la que se están ejecutando.
30 de octubre, 16:30 - Actualización: el servidor que se ha reiniciado ya no muestra este comportamiento, la tarea programada se ejecutó una vez en él. Esperaré unos días antes de reiniciar el segundo servidor en caso de que alguien tenga alguna idea sobre el diagnóstico de por qué / cómo sucedió
06 de noviembre 18:00 - Actualización - Aplicamos todas las actualizaciones al segundo servidor y reiniciamos. Asumimos que esto resolvería el problema, sin embargo, las 3pm corrieron dos veces otra vez, una a las 3pm y otra vez a las 4pm. Miré otros trabajos programados y solo se ejecutaron una vez.
fuente
Respuestas:
Acabamos de notar el mismo problema en nuestros servidores de producción (también Windows Server 2012), que ocurrió esta semana. También comenzó después de que nuestros relojes retrocedieron una hora (que fue el 3 de noviembre de 2013, aquí en Toronto).
Actualización al 12 de noviembre de 2013:
Además, después de más discusiones con Microsoft (por nuestro administrador del sistema), Microsoft dijo: "... el problema se identificó en Windows Server 2012 y se solucionó solo en la próxima versión de Windows, que es Windows 8.1 / Windows Server 2012 R2". .
fuente
He tenido este problema esta semana desde el cambio de horario de verano. Sé que esta no es una gran respuesta, pero eliminar y recrear el trabajo parece resolver el problema. Probé en un par de trabajos que se han estado duplicando durante la noche y los trabajos recreados no se duplicaron.
fuente
Podríamos reproducir el error cuando el trabajo se programó para UTC + 0 (servidor Windows 2012 R2).
Por ejemplo, teníamos un trabajo en fechas equivocadas que estaba programado para las 2 de la mañana.
Como nuestra zona horaria es UTC + 2, el trabajo se ejecutó en UTC + 0.
Parece que Windows tiene algunos problemas de redondeo. Quizás utiliza UTC internamente y si el trabajo se ejecuta exactamente en UTC + 0, algunos errores de redondeo o condiciones de carrera hacen que el trabajo se ejecute en las fechas incorrectas.
También vimos trabajos, que se ejecutan según lo planeado pero después del reinicio, informaron:
Después de cambiar la hora programada a, por ejemplo, 2:02 am, los errores desaparecieron.
fuente