2010-05-20 21 views
15

Quiero agregar la programación de cuarzo a una aplicación ASP.NET.Pros y contras de ejecutar Quartz.NET embedded o como un servicio de Windows

Se usará para enviar correos electrónicos en cola.

¿Cuáles son los pros y los contras de ejecutar quartz.net como servicio de Windows vs incrustado.

Mi principal preocupación es cómo Quartz.NET en modo integrado maneja la cantidad variable de procesos de trabajo en IIS.

Respuesta

14

Aquí hay algunas cosas que usted puede tener en cuenta al decidir si se debe ejecutar o no incrustado:

  1. Si usted va a ser la creación de puestos de trabajo sólo desde dentro de la aplicación host, a continuación, ejecutar incrustado. De lo contrario, ejecute como un servicio.

  2. Si sus trabajos pueden necesitar permisos que sean diferentes a los permisos que tiene la aplicación web, ejecútelos como un servicio.

  3. Si sus trabajos son trabajos de larga ejecución, o trabajos que usan mucha memoria, se ejecutan como un servicio.

  4. Si necesita ejecutar sus trabajos en un entorno en clúster para rendimiento, escalabilidad o tolerancia a errores, ejecútelo como un servicio.

De los elementos anteriores puede deducir que mi preferencia es ejecutarlo como un servicio. Esto se debe a que si va a tomarse la molestia de configurar un planificador de tareas, esto significa que tiene trabajos que deben ejecutarse según un cronograma o trabajos de larga ejecución. Un servicio es generalmente la mejor opción para este tipo de trabajo.

13

Quartz.NET se puede crear instancias por aplicación (la configuración de la granja de servidores ordena el número de programadores). Puede ejecutar múltiples planificadores de forma segura si tiene sus trabajos respaldados en una base de datos y tiene Quartz.NET configurado en modo agrupado (y los relojes se sincronizan de forma natural).

La principal preocupación es la gestión del grupo de aplicaciones antes de IIS 7.5. Sin comprobaciones constantes, el trabajador de la aplicación puede reciclarse y el programador se desactivará hasta que alguien emita una solicitud web para volver a iniciar el grupo de aplicaciones. IIS 7.5 tiene la nueva característica para mantener los grupos de aplicaciones ejecutándose todo el tiempo.

De lo contrario, no debería haber una gran diferencia entre los dos modelos.

Cuestiones relacionadas