Rails: отправить электронное письмо за x дней до даты в базе данных

#ruby-on-rails

#ruby-on-rails

Вопрос:

У меня есть ApplicationMailer настройка для напоминания пользователям моего приложения за 10 дней до даты в базе данных (всякий reminder раз, когда создается @reminder.date a, за 10 дней до того, как должно быть отправлено электронное письмо.

Я посмотрел на это, что, по-видимому, указывает на то, что deliver_later(wait_until: ____) в моей модели это правильный путь, поэтому в настоящее время я использую это в качестве отправной точки в reminder.rb :

 after_create :send_reminder_emails

private

def send_reminder_emails
  @reminder.each do |r|
     ReminderMailer.reminder_send(@user, @reminder).deliver_later(wait_until: ***SOMETHING***)
  end
end
  

Тем не менее, я просмотрел все SO и Google, я попытался просмотреть документацию для gems like whenever , но я не могу понять, как заставить его отправлять до даты из базы данных.

Может ли кто-нибудь указать мне правильный способ структурирования этого?

Ответ №1:

Посмотрите на Sidetiq и Sidekiq.

Sidetiq

Sidekiq