module SeaMule
Constants
- DEFAULT_QUEUE
- QUEUES
- VERSION
Attributes
coder[W]
logger[RW]
redis[R]
Public Instance Methods
backend()
click to toggle source
# File lib/seamule.rb, line 36 def backend @backend ||= Backend.new(@redis, SeaMule.logger) end
coder()
click to toggle source
# File lib/seamule.rb, line 54 def coder @coder ||= JsonEncoder.new end
create_queues()
click to toggle source
# File lib/seamule.rb, line 47 def create_queues @queues = {} QUEUES.each do |queue_name| @queues[queue_name] = SeaMule::Queue.new(queue_name, @redis) end end
decode(object)
click to toggle source
# File lib/seamule.rb, line 32 def decode(object) coder.decode(object) end
dequeue(queue, klass: nil, payload: nil, id: nil)
click to toggle source
# File lib/seamule.rb, line 97 def dequeue(queue, klass: nil, payload: nil, id: nil) Job.destroy(queue, klass: klass, payload: payload, id: id) end
encode(object)
click to toggle source
# File lib/seamule.rb, line 28 def encode(object) coder.encode(object) end
enqueue(klass, payload, meta = nil)
click to toggle source
# File lib/seamule.rb, line 89 def enqueue(klass, payload, meta = nil) enqueue_to(DEFAULT_QUEUE, klass, payload, meta) end
enqueue_to(queue, klass, payload, meta)
click to toggle source
# File lib/seamule.rb, line 93 def enqueue_to(queue, klass, payload, meta) Job.create(queue, klass, payload, meta) end
keys()
click to toggle source
# File lib/seamule.rb, line 105 def keys backend.store.keys('*') end
pop(queue, id = nil)
click to toggle source
# File lib/seamule.rb, line 62 def pop(queue, id = nil) queue(queue).pop(id) end
pop_and_push(from_queue, to_queue)
click to toggle source
# File lib/seamule.rb, line 66 def pop_and_push(from_queue, to_queue) job = pop(from_queue) push(to_queue, job) if job job end
push(queue, item)
click to toggle source
# File lib/seamule.rb, line 58 def push(queue, item) queue(queue) << item end
queue(name)
click to toggle source
# File lib/seamule.rb, line 85 def queue(name) @queues[name.to_s] end
queued(queue, klass: nil, payload: nil, id: nil)
click to toggle source
# File lib/seamule.rb, line 101 def queued(queue, klass: nil, payload: nil, id: nil) Job.queued(queue, klass: klass, payload: payload, id: id) end
queues()
click to toggle source
# File lib/seamule.rb, line 76 def queues Array(backend.store.smembers(:queues)) end
redis=(server)
click to toggle source
# File lib/seamule.rb, line 40 def redis=(server) @redis = Backend.connect(server) unless server.nil? @backend = Backend.new(@redis, SeaMule.logger) create_queues @redis end
remove_queue(queue)
click to toggle source
# File lib/seamule.rb, line 80 def remove_queue(queue) queue(queue).destroy @queues.delete(queue.to_s) end
size(queue)
click to toggle source
# File lib/seamule.rb, line 72 def size(queue) queue(queue).size end