12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/resque/plugins/pubsub/subscriber.rb', line 12
def subscribe(topic, options={})
@queue = "fanout:#{topic}"
reader_method = options[:reader_method] || "read_#{topic}_message"
module_eval " def self.perform(message)\n self.send(\"\#{reader_method.to_s}\", message)\n end\n end_eval\n options[:namespace] = Resque.redis.namespace\n options[:topic] = topic\n options[:class] = self.to_s\n puts \"[\#{self.to_s}] subscribing with \#{options.inspect}\"\n Exchange.redis.sadd(:queues, :subscription_requests)\n Exchange.redis.rpush(\"queue:subscription_requests\", { :class => 'Resque::Plugins::Pubsub::Exchange', :args => [options] }.to_json) \nend\n"
|