be_a_dancer
@be_a_dancer
Backend/Fullstack Developer

Каким образом можно создать систему уведомлений в планировщике задач?

Добрый день.

Задача подробно: существует планировщик задач на node.js + mongoDB. К ним подвязан телеграм, через который на данный момент можно добавлять задачи. Необходим добавочный функционал в виде уведомлений в чатик с ботом.
Вопрос таков: каким образом можно отследить, что пришло время кинуть уведомление. Пытался на каждое событие подвязать интервал. Однако при большом количестве задач бот падает. Пытался при добавлении события делать сортировку по времени и запоминать время ближайшего. Здесь проблема в производительности.
Кто сталкивался? Можете предложить адекватный алгоритм решения этой задачи?
  • Вопрос задан
  • 328 просмотров
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
По моему у вас подход в корне не верный.
1) При добавлении нового события вычисляете его время срабатывания. Делаете массив событий. Раз в какое-то время обходите список и если время их выполнения прошло, то выполняете и удаляете.
2) В JS есть Event Loop и если вы ставите таймаут в 5 секунд, то это не значит что оно выполнится точно через 5. Функции тоже имеют время выполнения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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