10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/ruby_event_store/outbox/sidekiq_producer.rb', line 10
def call(klass, args)
item = { "args" => args.map(&:to_h).map { |h| h.transform_keys(&:to_s) }, "class" => klass }
normalized_item = sidekiq_client.__send__(:normalize_item, item)
payload =
sidekiq_client
.middleware
.invoke(normalized_item["class"], normalized_item, normalized_item["queue"], Sidekiq.redis_pool) do
normalized_item
end
if payload
Repository::Record.create!(
format: SIDEKIQ5_FORMAT,
split_key: payload.fetch("queue"),
payload: payload.to_json,
)
end
end
|