170 похожих чатов

Всем привет, есть приложение по типу календаря - пользователь выбирает

дату и время и пишет комментарий, в указанное время ему должно отправиться уведомление с введенным текстом.

проект ASP, даты и текст уведомления хранятся в БД, как лучше реализовать отправку уведомлений в заданное время?

Мой вариант такой: запускаем backgroundSerivce, который при запуске приложения считывает из БД все уведомления на ближайшие сутки, и засыпает до времени первого события, если событий нет, засыпает на сутки. При наступлении события - отправляет уведомление и засыпает до наступления следующего.

И так же нужно создать сервис уведомлений INotificationService, через который будут регистрироваться события на случай, если будет зарегистрировано событие, которое завершится до того как будет пробуждем backgroundService. backgroundService подписывается на события INotificationService, добавляет в очередь событий новый элемент и перезапускает таймер

4 ответов

26 просмотров

Хостить сервисы внутри сайта это пидорско

А с этим решением ты обосрешься когда уведомление поступит позже чем ты прочитал из бд Или вообще отменится

Константин- Автор вопроса
Gopneg
А с этим решением ты обосрешься когда уведомление ...

почему? все новые добавления и отмены будут идти через INotificationService, у которого будут события NotificationAdded, NotificationCancelled и по этом событиям и перезаряжать таймер отправки уведомлений

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта