Serializza gli invii SMTP su una coda unica per non far chiudere Aruba.
CI / scan_js (push) Has been cancelled
CI / scan_ruby (push) Has been cancelled
CI / lint (push) Has been cancelled

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-07 12:06:23 +02:00
co-authored by Cursor
parent a9470d7e77
commit 403fe80d37
12 changed files with 423 additions and 29 deletions
+1 -13
View File
@@ -1,28 +1,16 @@
class ResumeMailingsJob < ApplicationJob
queue_as :mailers
STALE_QUEUED_AFTER = 10.minutes
def perform
recover_stale_queued!
Mailing.sending.due_to_send.find_each do |mailing|
next unless Mailings::SendClock.new(mailing).open?
next if mailing.mailing_recipients.queued.exists?
recipient = mailing.mailing_recipients.pending.order(:id).first
next unless recipient
SendMailingRecipientJob.perform_later(recipient.id)
end
end
private
def recover_stale_queued!
MailingRecipient.queued.where("updated_at < ?", STALE_QUEUED_AFTER.ago).find_each do |recipient|
next unless recipient.mailing.sending?
recipient.update!(status: "pending", error_message: nil)
end
DrainOutboundJob.perform_later if Mailings::OutboundQueue.queued_scope.exists?
end
end