refactor: refactors message dequeueing (#2810)

This commit is contained in:
Adam Cooke
2024-02-23 22:51:36 +00:00
committed by Adam Cooke
parent 07eb15246f
commit a44e1f9081
20 changed files with 1808 additions and 1537 deletions
+26
View File
@@ -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