Cómo diseñar un recordatorio de calendario / sistema de alerta

Tengo un sistema de calendario en mi aplicación web. Necesitamos implementar recordatorios.

¿Hay algún recordatorio / patrón de alerta o diseño del sistema, o mejores prácticas? Si es así o no, ¿cuáles podrían ser algunas formas de lograr esto?

Consideraciones de diseñ

Necesita poder cancelar / evitar recordatorios si el evento del calendario se elimina o cambia, o si el usuario desactiva el recordatorio para ese evento. Así que no podemos simplemente disparar y olvidarlos en una cola o algo así.Los recordatorios pueden ser X cantidad de tiempo antes del evento, X se configura en la configuración del evento del calendarioReminders no necesita ser súper preciso (al segundo o incluso minuto). + - 5 minutos está bien. No quiero calcular previamente los recordatorios porque el mantenimiento se convierte en una pesadilla a medida que cambian los eventos del calendario, especialmente cuando se trata de eventos recurrentes.

Hasta ahora mi diseño es algo como esto:

Haga que se ejecute un trabajo programado cada 10 minutos.El trabajo toma todos los eventos relevantes posibles y calcula las posibles ocurrencias para el siguiente intervalo de 10 minutos (filtrando eventos que no tienen un recordatorio establecido).Job llama a un punto final de API en el lado de mi servidor que activa una notificación frontal y un recordatorio por correo electrónico para todas las partes relevantes.

¿Pero tal vez hay patrones más elegantes que este? Algo ya establecido? ¿O alguna herramienta en azul etc.

Nuestro stack es .net y azure.

Respuestas a la pregunta(1)

Su respuesta a la pregunta