module Qs
Constants
- InvalidEventHandlerError
- InvalidJobHandlerError
- NotFoundError
- ShutdownError
- TimeoutError
- UninitializedError
- VERSION
Public Class Methods
clear_subscriptions(queue)
click to toggle source
# File lib/qs.rb, line 71 def self.clear_subscriptions(queue) self.client.clear_subscriptions(queue) end
client()
click to toggle source
# File lib/qs.rb, line 79 def self.client @client || NullClient.new end
config()
click to toggle source
# File lib/qs.rb, line 11 def self.config; @config ||= Config.new; end
configure(&block)
click to toggle source
# File lib/qs.rb, line 12 def self.configure(&block) block.call(self.config) end
daemon(no_chdir = false, no_close = false)
click to toggle source
Full explanation: www.steve.org.uk/Reference/Unix/faq_2.html#SEC16
# File lib/qs/process.rb, line 169 def self.daemon(no_chdir = false, no_close = false) exit if fork ::Process.setsid exit if fork Dir.chdir '/' unless no_chdir if !no_close null = File.open('/dev/null', 'w') STDIN.reopen null STDOUT.reopen null STDERR.reopen null end return 0 end
decode(encoded_payload)
click to toggle source
# File lib/qs.rb, line 63 def self.decode(encoded_payload) @decoder.call(encoded_payload) end
dispatcher_job_name()
click to toggle source
# File lib/qs.rb, line 95 def self.dispatcher_job_name self.config.dispatcher_job_name end
dispatcher_queue()
click to toggle source
# File lib/qs.rb, line 91 def self.dispatcher_queue @dispatcher_queue end
encode(payload)
click to toggle source
# File lib/qs.rb, line 59 def self.encode(payload) @encoder.call(payload) end
enqueue(queue, job_name, params = nil)
click to toggle source
# File lib/qs.rb, line 43 def self.enqueue(queue, job_name, params = nil) self.client.enqueue(queue, job_name, params) end
event_publisher()
click to toggle source
# File lib/qs.rb, line 99 def self.event_publisher self.config.event_publisher end
event_subscribers(event)
click to toggle source
# File lib/qs.rb, line 75 def self.event_subscribers(event) self.client.event_subscribers(event) end
init()
click to toggle source
# File lib/qs.rb, line 16 def self.init self.config.validate! @dispatcher_queue ||= DispatcherQueue.new({ :queue_class => self.config.dispatcher_queue_class, :queue_name => self.config.dispatcher_queue_name, :job_name => self.config.dispatcher_job_name, :job_handler_class_name => self.config.dispatcher_job_handler_class_name }) @encoder ||= self.config.encoder @decoder ||= self.config.decoder @client ||= Client.new(self.redis_connect_hash) @redis ||= @client.redis true end
publish(channel, name, params = nil)
click to toggle source
# File lib/qs.rb, line 47 def self.publish(channel, name, params = nil) self.client.publish(channel, name, params) end
publish_as(publisher, channel, name, params = nil)
click to toggle source
# File lib/qs.rb, line 51 def self.publish_as(publisher, channel, name, params = nil) self.client.publish_as(publisher, channel, name, params) end
published_events()
click to toggle source
# File lib/qs.rb, line 103 def self.published_events self.dispatcher_queue.published_events end
push(queue_name, payload)
click to toggle source
# File lib/qs.rb, line 55 def self.push(queue_name, payload) self.client.push(queue_name, payload) end
redis()
click to toggle source
# File lib/qs.rb, line 83 def self.redis @redis end
redis_connect_hash()
click to toggle source
# File lib/qs.rb, line 87 def self.redis_connect_hash self.config.redis_connect_hash end
reset!()
click to toggle source
# File lib/qs.rb, line 33 def self.reset! @config = nil @dispatcher_queue = nil @encoder = nil @decoder = nil @client = nil @redis = nil true end
sync_subscriptions(queue)
click to toggle source
# File lib/qs.rb, line 67 def self.sync_subscriptions(queue) self.client.sync_subscriptions(queue) end