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