NodeJS: Лучший способ отправлять массовые тексты в определенное время на основе записи MongoDB? - PullRequest
0 голосов
/ 13 июня 2019

Я пишу приложение, которое должно отправлять текстовые сообщения на основе записей базы данных MongoDB, используя AWS.Я сохраняю сообщение, номер телефона и время отправки сообщения в базе данных, и в настоящее время я могу отправить текст, используя номер и сообщение.Я пытаюсь выяснить лучший способ отправки сообщений в подходящее время.Первоначально я думал, что лучший способ сделать это - иметь работу cron, которая каждую минуту запрашивает базу данных, а затем отправляет текст.Однако будут ли подходить рабочие места cron для этого надежно и в масштабе?Кроме того, если база данных становится слишком большой, будет ли слишком много запросов каждую минуту?Я также подумал об использовании setInterval для выполнения запроса каждую минуту.Но оба эти способа выглядят так: если бы запрос к базе данных занял больше времени, он попытался бы сделать это дважды и потенциально отправить повторяющиеся сообщения или вызвать другие проблемы.Один из них - хороший способ справиться с этой ситуацией или что-то еще будет лучше?

1 Ответ

0 голосов
/ 13 июня 2019
  1. Настройка задания cron, которое выполняется каждую минуту и ​​которое запрашивает: ((locked: not_exists || locked: false) && record.time_to_send <= current_time) </li>
  2. Теперь в задании cron оставьте флаг 'locked ', который устанавливается в значение true, когда запись собирается обрабатываться (или отправляется сообщение)

Возможно, вы захотите взглянуть на лямбда-функции AWS или пошаговые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...