Как будет выглядеть пиковая нагрузка?
А как насчет средней нагрузки?
Насколько надежным он должен быть?
Подобная информация необходима для определения маршрута к go.
Ответы на основе информации, предоставленной на данный момент
Вы ' Вы хотите отправлять X электронных писем ежедневно, во время предположительно низких периодов использования вашей системы. Исходя из того, что вы уже предоставили, это действительно простой случай использования.
Между этими двумя подходами нет существенного различия. Rails - это соглашение о конфигурации . Если у вас нет веских причин для этого, вы должны использовать фреймворк ActiveJob. Он служит в качестве API для инфраструктуры заданий, позволяя вам легко менять внутреннюю реализацию очереди при изменении требований.
Вы не предлагали никаких требований, которые указывали бы на нарушение соглашения, которые будут здесь полезны. Будьте просты и используйте то, что делает Rails таким хорошим, его соглашения делают большую работу за вас.
Введение в ActiveJob, фрагмент кода взят из него.
Суть в том, чтобы все приложения Rails имели инфраструктуру заданий. После этого мы можем создать фреймворк и другие гемы, не беспокоясь о различиях API между различными исполнителями заданий, такими как отложенное задание и Resque. Выбор вашего бэкэнда в очереди становится более оперативным. И вы сможете переключаться между ними, не переписывая свои задания.
Какой сервер очереди следует использовать? Начните просто с sidekiq и go оттуда. Построить итеративно. Если вы достигли стадии, когда sidekiq ограничивает вас, ActiveJob упрощает переключение на другой инструмент очереди. Хорошие времена!