Actualmente estoy usando Quartz Scheduler para tareas asíncronas, como enviar un correo electrónico cuando ocurre una excepción, enviar un correo electrónico desde la interfaz web o analizar el tráfico periódicamente.Message Queue o Scheduler
¿Debo usar una cola de mensajes para enviar un correo electrónico? ¿Es más eficiente o correcto hacerlo de esa manera? El enfoque del programador funciona bien.
Si uso una cola y no se pudo enviar el correo electrónico, ¿es posible que la cola vuelva a intentar enviar el correo electrónico más adelante? El enfoque de cola parece más simple que el programador para las tareas que deben suceder inmediatamente, pero para las tareas del planificador, el planificador sigue siendo, a menos que haya más en la cola de lo que estoy consciente.
Todavía no he usado JMS, así que esto es lo que he leído.
Walter
Romain - eso suena bien. Acepté tu comentario porque es un poco más descriptivo. Creo que iré con una cola entonces. Si no se envía el correo electrónico, mi modo de falla sería intentar otro tipo de notificación. –
@Walter White El correo electrónico no es un sistema de entrega garantizado. Si debe entregar este correo electrónico, tiene varias opciones. 1) Publique en su sitio web y permita que la persona inicie sesión y vea las actualizaciones de su cuenta. 2) Ponga una URL en su correo electrónico para que hagan clic si recibieron el correo, si no continúan enviando de manera periódica. Todavía no está garantizado, solo sabes cuando lo obtuviste. 3) Enviar una carta con el correo electrónico (Digamos que es información de la cuenta de un banco) La carta se puede registrar si es necesario. 2) –
De hecho, encuentro que usar un programador como Quartz es una buena opción para esto; cuando se usan persistentes, sobrevivirán a cierres, y hay un mecanismo de reintento natural integrado. – Eelco