15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/queue_bus/driver.rb', line 15
def perform(attributes={})
raise "No attributes passed" if attributes.empty?
::QueueBus.log_worker("Driver running: #{attributes.inspect}")
subscription_matches(attributes).each do |sub|
::QueueBus.log_worker(" ...sending to #{sub.queue_name} queue with class #{sub.class_name} for app #{sub.app_key} because of subscription: #{sub.key}")
bus_attr = { "bus_driven_at" => Time.now.to_i,
"bus_rider_queue" => sub.queue_name,
"bus_rider_app_key" => sub.app_key,
"bus_rider_sub_key" => sub.key,
"bus_rider_class_name" => sub.class_name}
bus_attr = bus_attr.merge(attributes || {})
::QueueBus.enqueue_to(sub.queue_name, sub.class_name, bus_attr)
end
end
|