43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/ribbon/event_bus/publishers/resque_publisher.rb', line 43
def self.perform(serialized_event)
event = Event.deserialize(serialized_event)
instance = event.instance
publisher = instance.find_publisher(:resque)
raise Errors::PublisherError, 'No ResquePublisher found' unless publisher
queue_formatter = publisher.subscription_queue_formatter
instance.plugins.perform(:resque_publish, event) do |event|
event.subscriptions.each { |s|
SubscriptionJob.set_queue(queue_formatter.call(s).to_sym)
Resque.enqueue(SubscriptionJob, s.serialize, event.serialize)
}
end
end
|