class Qs::Queue
Constants
- InvalidError
Attributes
enqueued_jobs[R]
event_route_names[R]
routes[R]
Public Class Methods
new(&block)
click to toggle source
# File lib/qs/queue.rb, line 11 def initialize(&block) @routes = [] @event_route_names = [] @enqueued_jobs = [] self.instance_eval(&block) if !block.nil? raise InvalidError, "a queue must have a name" if self.name.nil? end
Public Instance Methods
clear_subscriptions()
click to toggle source
# File lib/qs/queue.rb, line 68 def clear_subscriptions Qs.clear_subscriptions(self) end
enqueue(job_name, params = nil)
click to toggle source
# File lib/qs/queue.rb, line 59 def enqueue(job_name, params = nil) Qs.enqueue(self, job_name, params) end
Also aliased as: add
event(channel, name, handler_name)
click to toggle source
# File lib/qs/queue.rb, line 47 def event(channel, name, handler_name) if self.event_handler_ns && !(handler_name =~ /^::/) handler_name = "#{self.event_handler_ns}::#{handler_name}" end route_name = Qs::Event::RouteName.new(channel, name) route_id = Qs::Message::RouteId.new(Qs::Event::PAYLOAD_TYPE, route_name) @event_route_names.push(route_name) @routes.push(Qs::Route.new(route_id, handler_name)) end
event_handler_ns(value = nil)
click to toggle source
# File lib/qs/queue.rb, line 33 def event_handler_ns(value = nil) @event_handler_ns = value if !value.nil? @event_handler_ns end
inspect()
click to toggle source
# File lib/qs/queue.rb, line 80 def inspect reference = '0x0%x' % (self.object_id << 1) "#<#{self.class}:#{reference} " \ "@name=#{self.name.inspect} " \ "@job_handler_ns=#{self.job_handler_ns.inspect} " \ "@event_handler_ns=#{self.event_handler_ns.inspect}>" end
job(name, handler_name)
click to toggle source
# File lib/qs/queue.rb, line 38 def job(name, handler_name) if self.job_handler_ns && !(handler_name =~ /^::/) handler_name = "#{self.job_handler_ns}::#{handler_name}" end route_id = Message::RouteId.new(Qs::Job::PAYLOAD_TYPE, name) @routes.push(Qs::Route.new(route_id, handler_name)) end
job_handler_ns(value = nil)
click to toggle source
# File lib/qs/queue.rb, line 28 def job_handler_ns(value = nil) @job_handler_ns = value if !value.nil? @job_handler_ns end
name(value = nil)
click to toggle source
# File lib/qs/queue.rb, line 19 def name(value = nil) @name = value if !value.nil? @name end
published_events()
click to toggle source
# File lib/qs/queue.rb, line 72 def published_events self.enqueued_jobs.map(&:event) end
redis_key()
click to toggle source
# File lib/qs/queue.rb, line 24 def redis_key @redis_key ||= RedisKey.new(self.name) end
reset!()
click to toggle source
# File lib/qs/queue.rb, line 76 def reset! self.enqueued_jobs.clear end
sync_subscriptions()
click to toggle source
# File lib/qs/queue.rb, line 64 def sync_subscriptions Qs.sync_subscriptions(self) end