¿Qué tan confiable es programador de tareas de Windows para programar la ejecución de código en varias ocasiones?

StackOverflow https://stackoverflow.com/questions/722678

Pregunta

Tengo un poco de código que tiene que sentarse en un servidor Windows 2003 y ejecutar cada minuto.

¿Cuál es la forma recomendada de manejar esto? ¿Está bien para diseñarlo como un servicio de consola y acaban de golpear el programador de tareas que cada minuto? (¿Es eso posible?) ¿Debo aguantar y escribir como un servicio de Windows?

¿Fue útil?

Solución

Desde que necesita para ejecutarse cada minuto, sugeriría escribir un servicio de Windows. No es muy complicado, y si nunca has hecho esto antes, sería muy bueno para aprender cómo se hace.

Llamada de la tarea programada cada minuto no es algo que recomendaría.

Otros consejos

Yo diría que aguantar y escribir como un servicio de Windows. No he encontrado tareas programadas para ser muy confiable y cuando no se ejecuta, todavía tengo que encontrar una manera fácil de averiguar por qué no lo ha hecho.

Tareas programadas de Windows ha sido bastante fiable para nuestros propósitos y les favorecen en casi todos los casos más de los servicios de Windows debido a su facilidad de instalación y características avanzadas de recuperación. El siempre en la naturaleza de un servicio de Windows podría llegar a ser un problema si una parte del código que fue escrito termina ups conseguir encerrados en bucle o en una pieza de código que no debe estar en. Por lo general, escribimos nuestro código en una de manera similar a este

Init();
Run();
CleanUp();

A continuación, como parte de la tarea programada ponemos un límite de tiempo para la duración del proceso puede correr y tenerlo matar el proceso si se ejecuta durante más tiempo. Si tenemos un trozo de código que está teniendo problemas de tareas programadas matarán y el proceso se iniciará en el minuto siguiente.

si es necesario para que se ejecute cada minuto, me construirlo como un servicio de Windows. Yo no usaría el programador con nada menos que una tarea diaria.

Yo diría que depende de lo que estaba haciendo, pero en general siempre estoy a favor de que las capas de menor cantidad. Si se escribe como un servicio de consola y utilizar el programador de tareas entonces usted tiene dos lugares para mantener en el futuro.

Si se escribe como un servicio de Windows a continuación, sólo tiene uno menos lugares para visitar en caso de que algo va mal.

En la búsqueda de ayuda servicio programado, me encontré con una muy buena artículo de Jon Galloway .

Hay varias diadvantages si un servicio de Windows se utiliza para la tarea programada. Yo estaba de acuerdo con ella. Yo sugeriría a utilizar tarea programada, simple en su aplicación. Por favor, consulte rel="nofollow noreferrer">. Esperamos que esta información ayuda en la finalización del enfoque de implementación.

El único otro punto a considerar, es que si usted es trabajo implica algún tipo de interacción de base de datos, considerar el mirar en los servicios de integración / programación proporcionados por la base de datos.

Por ejemplo, la creación de un paquete SSIS para SQL Server relacionada con el servicio puede parecer un poco como una exageración, pero pueden integrarse perfectamente con el medio ambiente y tendrá que comprobar su propia explotación y / o error de los mecanismos ya existentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top