Class: RubyJob::InMemoryJobStore::JobPriorityQueue

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/ruby_job/in_memory_job_store.rb

Instance Method Summary collapse

Constructor Details

#initializeJobPriorityQueue

Returns a new instance of JobPriorityQueue.



76
77
78
# File 'lib/ruby_job/in_memory_job_store.rb', line 76

def initialize
  @pqueue = FibonacciHeap::Heap.new
end

Instance Method Details

#delete(job) ⇒ Object



92
93
94
# File 'lib/ruby_job/in_memory_job_store.rb', line 92

def delete(job)
  @pqueue.delete(job)
end

#popObject



84
85
86
# File 'lib/ruby_job/in_memory_job_store.rb', line 84

def pop
  @pqueue.pop
end

#push(job) ⇒ Object



80
81
82
# File 'lib/ruby_job/in_memory_job_store.rb', line 80

def push(job)
  @pqueue.insert(job, key_for(job))
end

#topObject



88
89
90
# File 'lib/ruby_job/in_memory_job_store.rb', line 88

def top
  @pqueue.min
end