Я нахожусь на Heroku с пользовательским доменом, и у меня есть дополнение Redis. Мне нужна помощь, чтобы понять, как создать фоновый рабочий для уведомлений по электронной почте. Пользователи могут отправлять сообщения "Входящие" друг другу, и я хотел бы отправить уведомление по электронной почте пользователю для каждого полученного нового сообщения. У меня есть уведомления, работающие в разработке, но мне нехорошо создавать фоновые задания, которые требуются для Heroku, иначе сервер будет тайм-аут.
Контроллер сообщений:
def create
@recipient = User.find(params[:user])
current_user.send_message(@recipient, params[:body], params[:subject])
flash[:notice] = "Message has been sent!"
if request.xhr?
render :json => {:notice => flash[:notice]}
else
redirect_to :conversations
end
end
Модель пользователя:
def mailboxer_email(object)
if self.no_email
email
else
nil
end
end
Mailboxer.rb:
Mailboxer.setup do |config|
#Configures if you applications uses or no the email sending for Notifications and Messages
config.uses_emails = false
#Configures the default from for the email sent for Messages and Notifications of Mailboxer
config.default_from = "[email protected]"
#Configures the methods needed by mailboxer
config.email_method = :mailboxer_email
config.name_method = :name
#Configures if you use or not a search engine and wich one are you using
#Supported enignes: [:solr,:sphinx]
config.search_enabled = false
config.search_engine = :sphinx
end