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
+16
View File
@@ -0,0 +1,16 @@
class DrainOutboundJob < ApplicationJob
queue_as :mailers
def perform
result = Mailings::OutboundQueue.drain_one!
return unless result.in?(%i[sent deferred wait])
return unless Mailings::OutboundQueue.queued_scope.exists?
wait = Mailings::OutboundQueue.seconds_until_next_slot
wait = 0 if wait.blank? || wait.negative?
max_wait = [ Mailings::OutboundQueue.min_interval.to_f, 2.minutes ].max + 5.seconds
return if wait > max_wait
self.class.set(wait: wait).perform_later
end
end