Class: RubyJob::InMemoryJobStore::JobPriorityQueue
- Inherits:
-
Object
- Object
- RubyJob::InMemoryJobStore::JobPriorityQueue
- Extended by:
- Forwardable
- Defined in:
- lib/ruby_job/in_memory_job_store.rb
Instance Method Summary collapse
- #delete(job) ⇒ Object
-
#initialize ⇒ JobPriorityQueue
constructor
A new instance of JobPriorityQueue.
- #pop ⇒ Object
- #push(job) ⇒ Object
- #top ⇒ Object
Constructor Details
#initialize ⇒ JobPriorityQueue
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 |
#pop ⇒ Object
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 |
#top ⇒ Object
88 89 90 |
# File 'lib/ruby_job/in_memory_job_store.rb', line 88 def top @pqueue.min end |