be_a_dancer
@be_a_dancer
Backend/Fullstack Developer

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

Добрый день.

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

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

Войти через центр авторизации
Похожие вопросы