У меня есть решение, в котором я могу отправлять «стандартные электронные письма» устройству почтовых сообщений, которые по умолчанию включены в Devise с отложенными заданиями. В асинхронной манере. Поэтому я использую следующий код:
/ Инициализаторы / devise_acync.rb
module Devise
module Models
module Confirmable
alias_method :send_confirmation_instructions_without_delay, :send_confirmation_instructions
handle_asynchronously :send_confirmation_instructions
end
module Recoverable
alias_method :send_reset_password_instructions_without_delay, :send_reset_password_instructions
handle_asynchronously :send_reset_password_instructions
end
module Lockable
alias_method :send_unlock_instructions_without_delay, :send_unlock_instructions
handle_asynchronously :send_unlock_instructions
end
module Invitable
alias_method :deliver_invitation_without_delay, :deliver_invitation
handle_asynchronously :deliver_invitation
end
end
end
В моей пользовательской модели устройство связано с этой моделью Я делаю
def confirm!
welcome_message
super
end
private
def welcome_message
::Devise.mailer.welcome_instructions(self).deliver
end
Большой вопрос, который держит меня ослепленным:
Как я смогу отправить это приветственное сообщение true delayed_job?
И как бы вы добавили другие электронные письма, которые являются собственными, а не разработанными, чтобы они тоже отправляли true delayed_job?