¿Reintentar el programador de tareas cuando falla la aplicación de consola?

¿Reintentar el programador de tareas cuando falla la aplicación de consola?

Posible duplicado:
Cómo hacer que TaskScheduler falle cuando la tarea devuelve un resultado diferente de 0

Tengo programada una tarea de Windows que ejecuta una aplicación de consola (archivo .exe) que he escrito. He configurado la tarea para que se reintente después de 5 minutos hasta 3 veces en caso de error.

El programador de tareas siempre ve la tarea como completada exitosamente. Incluso cuando la aplicación arroja una excepción.

¿Hay alguna manera de devolver algo de la aplicación cuando se lanza una excepción para indicarle a la tarea que falló? Por ejemplo, ¿y código de salida?

¿O existe una mejor manera de configurar la tarea para poder saber que ha habido un error?

Respuesta1

Si es posible, podría intentar configurar otra tarea programada, unos minutos más tarde, que verificaría si la tarea anterior ha tenido el efecto deseado (verificar si X se está ejecutando correctamente, si la variable X vale lo que desea, si el archivo X la última modificación es hoy, etc.) y si no, haz la misma tarea que la primera.

Supongo que la función "reintentar en caso de error" es "si el programador de tareas no pudo iniciar la tarea". Si lo hizo, y el programa que lanzó tuvo errores, "no es su problema". Le pides que se inicie y se inicia, punto. Así es como yo lo entiendo.

Entonces creo que la mejor manera es configurar una o más tareas adicionales que ejecutarán una verificación.

Si lo que está haciendo (por ejemplo, cargar un archivo) no se puede verificar directamente, entonces puede intentar decirle a la aplicación que inicia, si es posible, que registre cada uno de sus resultados o fechas para operaciones exitosas.

Si no es posible, tal vez existan otras aplicaciones que puedan monitorear un programa y mostrar lo que hace. Aplicación que también iniciarías con la primera tarea. Se complica, pero. :/

información relacionada