From 3bc8fce5fa79c3ce9b0b8a3c3a47f8746470bd7a Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 17 May 2018 16:46:12 +0200 Subject: [PATCH] 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 --- app/controllers/admin/newsletters_controller.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/controllers/admin/newsletters_controller.rb b/app/controllers/admin/newsletters_controller.rb index 966556082..8b1c2010f 100644 --- a/app/controllers/admin/newsletters_controller.rb +++ b/app/controllers/admin/newsletters_controller.rb @@ -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