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