дату и время и пишет комментарий, в указанное время ему должно отправиться уведомление с введенным текстом.
проект ASP, даты и текст уведомления хранятся в БД, как лучше реализовать отправку уведомлений в заданное время?
Мой вариант такой: запускаем backgroundSerivce, который при запуске приложения считывает из БД все уведомления на ближайшие сутки, и засыпает до времени первого события, если событий нет, засыпает на сутки. При наступлении события - отправляет уведомление и засыпает до наступления следующего.
И так же нужно создать сервис уведомлений INotificationService, через который будут регистрироваться события на случай, если будет зарегистрировано событие, которое завершится до того как будет пробуждем backgroundService. backgroundService подписывается на события INotificationService, добавляет в очередь событий новый элемент и перезапускает таймер
Хостить сервисы внутри сайта это пидорско
А с этим решением ты обосрешься когда уведомление поступит позже чем ты прочитал из бд Или вообще отменится
почему? все новые добавления и отмены будут идти через INotificationService, у которого будут события NotificationAdded, NotificationCancelled и по этом событиям и перезаряжать таймер отправки уведомлений
Обсуждают сегодня