mirror of
https://github.com/postalserver/postal.git
synced 2026-10-18 18:26:06 +00:00
refactor: refactors message dequeueing (#2810)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module MessageDequeuer
|
||||
class State
|
||||
|
||||
attr_accessor :send_result
|
||||
|
||||
def sender_for(klass, *args)
|
||||
@cached_senders ||= {}
|
||||
@cached_senders[[klass, args]] ||= begin
|
||||
klass_instance = klass.new(*args)
|
||||
klass_instance.start
|
||||
klass_instance
|
||||
end
|
||||
end
|
||||
|
||||
def finished
|
||||
@cached_senders&.each_value do |sender|
|
||||
sender.finish
|
||||
rescue StandardError
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user