Process newsletters deliveries asynchronously

We were seeing a timeout when queuing the 300.000+ emails to be
delivered

With this commit we are dealing asynchronously with this creations and
responding promptly, to avoid the web timeout of 30 seconds
This commit is contained in:
rgarcia
2018-05-17 16:46:12 +02:00
committed by decabeza
parent 420fe20deb
commit 3bc8fce5fa

View File

@@ -48,10 +48,7 @@ class Admin::NewslettersController < Admin::BaseController
@newsletter = Newsletter.find(params[:id])
if @newsletter.valid?
@newsletter.list_of_recipient_emails.each do |recipient_email|
Mailer.newsletter(@newsletter, recipient_email).deliver_later
end
@newsletter.delay.deliver
@newsletter.update(sent_at: Time.current)
flash[:notice] = t("admin.newsletters.send_success")
else