Выбор между очередью Bull и триггерами базы данных - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть сценарий использования, когда мне приходится многократно создавать записи в базе данных для пользователей по расписанию.Допустим, каждый понедельник еженедельно / раз в две недели.Есть два способа, которыми я могу достичь этого.

  1. Использование триггеров базы данных для создания записи о времени.Но я не знаю, как это повторить.Мне нужно создать триггер для следующего расписания, когда этот триггер запускается, что я не считаю правильным подходом.

  2. Использование очередей для управления расписанием и выполнения повторяющихся заданий.Но, думаю, добавление работы для каждого пользователя не очень хорошая идея.Возможно, я ошибаюсь, но другого способа достичь своей цели нет.

Я не понимаю, что выбрать между ними.Допустим, я должен делать это для 1 миллиона пользователей каждую неделю в понедельник в 9.00

Какой подход будет масштабироваться?

Я использую nodejs в качестве своей базы данных и использую Bull-Queue для очереди и postgres в качестве базы данных.

1 Ответ

0 голосов
/ 19 августа 2019

Использование триггеров базы данных для создания записи о времени.Но я не знаю, как это повторить.Мне нужно создать триггер для следующего графика, когда этот триггер запускается, что я не думаю, что правильный подход.- Неправильный подход, основанный на множестве факторов, таких как память, количество запросов и качество кода.

Итак, я выбрал второй подход:

Использование очередейобрабатывать планирование и выполнение повторных заданий.Но, думаю, добавление работы для каждого пользователя не очень хорошая идея.Я могу ошибаться, но другого способа достичь своей цели нет.

...