Tenemos varias tareas programadas de Windows que se ejecutan en un servidor web Server 2008 (no R2) que está en un clúster.
Recientemente nos mudamos de un Clúster de servidor web original a un nuevo Clúster de servidor web (Servidor 2008 - no R2).
El nuevo servidor web (en el clúster) que ejecuta las Tareas de Windows está configurado de la misma manera que en el original que creemos.
PERO ahora encontramos que en el nuevo Windows Server, el Programador de tareas de Windows parece querer iniciar cada tarea al instante tres veces.
Si establecemos la opción de poner en cola una nueva tarea, obtenemos:
El evento ID 324 Programador de tareas puso en cola la instancia "{9a1a8411-b042-45ff-8e6b-89874df230d7}" de la tarea "\ Informe del cliente" y lo lanzará tan pronto como se complete la instancia "{2bcc3df6-ea3b-4453-90c2-75b8b1946388}".
Si establecemos la opción de detener una tarea existente, obtenemos:
El evento ID 323 Task Scheduler detuvo la instancia "{e685a910-b32b-414e-85fd-96bbe54314a2}" de la tarea "\ Informe del cliente" para lanzar una nueva instancia "{4db66265-1f51-4ede-8535-ac7c3cb5c4c1}".
Configuración marcada:
Permitir que la tarea se ejecute bajo demanda.
Ejecute la tarea lo antes posible después de que se pierda un inicio programado.
Detenga la tarea si se ejecuta durante más de 1 hora.
Si la tarea en ejecución no finaliza cuando se le solicita, fuerce la detención.
Inicie la tarea solo si la computadora está con alimentación de CA.
Detenga la tarea si la computadora cambia a energía de batería.
Opción seleccionada: si la tarea ya se está ejecutando, detenga la instancia existente.
Nota: movimos las tareas de un servidor a otro en el clúster para ver si el Programador de tareas en el servidor particular que elegimos causó el problema. Mismo comportamiento.
¿Podría tener algo que ver con la construcción de los nuevos servidores?
Tenemos tareas muy similares configuradas en otro clúster de servidores que funcionan bien sin todo este inicio múltiple. Comparando esas tareas con las de aquí, no parece haber nada obviamente diferente en términos de configuraciones disponibles a través de las opciones dentro del Programador de tareas.
Activador: la tarea está programada para activarse diariamente, una vez por hora, y para detenerse si excede este tiempo.
Acción: ejecuta un archivo .bat.
¿Qué podría estar causando esto / dónde podemos ver qué lógica está causando que las tareas comiencen varias veces de esta manera?
Respuestas:
Este es el problema descrito en KB2617046 : si deshabilita y luego habilita una tarea programada, se crean disparadores duplicados. Las propiedades de la tarea aún muestran solo un activador, pero puede ver que la tarea se activa varias veces simultáneamente en el historial de tareas.
Hay una revisión disponible de Microsoft. La revisión dice que es para Vista, pero funciona en Server 2008 SP2. Después de aplicar la revisión, debe deshabilitar y luego volver a habilitar el desencadenante en su tarea (cerrando la ventana de propiedades del desencadenante para aplicar los cambios) para deshacerse de los duplicados.
fuente
Logramos detener el Programador de tareas de Windows al iniciar múltiples procesos marcando la opción "Si la tarea falla, reinicie cada:" con los valores predeterminados de "1 minuto" e "Intento de reiniciar hasta: 3 veces".
Esto parecía contra-intuitivo como
y 2. las tareas ya parecían estar decidiendo comenzar tres veces de todos modos.
Además, tenemos estas mismas tareas configuradas en los servidores web de prueba y no hemos necesitado marcar esta opción.
fuente
Por alguna razón, no puedo agregar un comentario a su respuesta, sin embargo, es probable que esté "fallando" porque la tarea está devolviendo un código de salida distinto de 0. Puede solucionar esto programando un script para que se ejecute en lugar del proceso de la tarea real. Debería hacer que el script ejecute el proceso de la tarea real y, una vez completado, compruebe el código de salida del proceso con una lista de códigos de éxito conocidos. Si es un éxito, haga que el script salga con el código 0 y si no fue exitoso, pase el código de salida de falla. De esta manera, aún conserva la capacidad del programador de tareas para volver a ejecutar la tarea en caso de que realmente falle.
Desafortunadamente, no es raro que los procesos que se ejecutaron con éxito devuelvan códigos de salida que no sean 0. Debería verificar la documentación (o preguntar al desarrollador) sobre cuáles son los diversos códigos de salida.
fuente
Enfrenté este problema en WinServer2008 R2 hace un par de meses. Probé muchas soluciones pero nada resolvió el problema.
lo siguiente parece resolver el problema: En la aplicación Programador de tareas: seleccione la tarea: luego, en el menú derecho, haga clic en 'Finalizar', le preguntará '¿Desea finalizar todas las instancias de esta tarea?' haga clic en 'Sí'.
Espero que esto resuelva tu problema.
fuente
El mismo problema estaba ocurriendo aquí, cualquier tarea se pone en la cola, así que examiné todas las tareas que se estaban ejecutando o en la cola, finalícelas y reinicié el servidor.
fuente