Class: Jober::UniqueQueue

Inherits:
Queue show all
Defined in:
lib/jober/unique_queue.rb

Direct Known Subclasses

UniqueQueueBatch

Instance Attribute Summary

Attributes inherited from AbstractTask

#finished, #stopped, #unique_id, #worker_id, #workers_count

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Queue

dequeue, inherited, #len, #queue_name, #retry_event, #retry_event_later, #run, set_queue_name

Methods inherited from Task

extract_name, inherited, #perform, #run

Methods inherited from AbstractTask

#after_execute, #after_initialize, #before_execute, #execute, get_interval, get_workers, inherited, #initialize, interval, manual!, manual?, #on_crashed, #run_loop, #sleeping, #stop!, workers

Methods included from Exception

#catch, #exception

Methods included from Logger

#logger, #logger=, #logger_tag

Constructor Details

This class inherits a constructor from Jober::AbstractTask

Class Method Details

.enqueue(*args) ⇒ Object



7
8
9
# File 'lib/jober/unique_queue.rb', line 7

def self.enqueue(*args)
  Jober.redis.sadd(queue_name, Jober.dump_args(*args))
end

.lenObject



3
4
5
# File 'lib/jober/unique_queue.rb', line 3

def self.len
  Jober.redis.scard(queue_name)
end

Instance Method Details

#popObject



11
12
13
14
# File 'lib/jober/unique_queue.rb', line 11

def pop
  res = Jober.redis.spop(queue_name)
  Jober.load(res) if res
end