class Workerholic::Queue
Handles background job enqueueing/dequeuing functionality
Attributes
logger[R]
name[R]
storage[R]
Public Class Methods
new(name = 'workerholic:queue:main')
click to toggle source
# File lib/workerholic/queue.rb, line 6 def initialize(name = 'workerholic:queue:main') @storage = Storage::RedisWrapper.new @name = name @logger = LogManager.new end
Public Instance Methods
dequeue()
click to toggle source
# File lib/workerholic/queue.rb, line 17 def dequeue job_info = storage.pop(name) job_info.last if job_info end
empty?()
click to toggle source
# File lib/workerholic/queue.rb, line 22 def empty? storage.list_length(name) == 0 end
enqueue(serialized_job)
click to toggle source
# File lib/workerholic/queue.rb, line 12 def enqueue(serialized_job) storage.push(name, serialized_job) # logger.info("Your job was placed in the #{name} queue on #{Time.now}.") end
size()
click to toggle source
# File lib/workerholic/queue.rb, line 26 def size storage.list_length(name) end