abstract class
Mosquito::DequeueAdapter
- Mosquito::DequeueAdapter
- Reference
- Object
Overview
A DequeueAdapter determines how the Overseer selects the next job to execute from the available queues.
Subclass DequeueAdapter, implement #dequeue, and assign an instance
via Mosquito.configure:
class MyDequeueAdapter < Mosquito::DequeueAdapter
def dequeue(queue_list : Mosquito::Runners::QueueList) : Mosquito::WorkUnit?
queue_list.queues.each do |q|
if job_run = q.dequeue
return WorkUnit.of(job_run, from: q)
end
end
end
end
Mosquito.configure do |settings|
settings.dequeue_adapter = MyDequeueAdapter.new
end
Direct Known Subclasses
Defined in:
mosquito/dequeue_adapter.crInstance Method Summary
-
#dequeue(queue_list : Runners::QueueList) : WorkUnit | Nil
Attempt to dequeue a job from one of the queues managed by
queue_list. -
#finished_with(job_run : JobRun, queue : Queue) : Nil
Called by the Overseer when a job run has finished executing.
Instance Method Detail
Attempt to dequeue a job from one of the queues managed by queue_list.
Returns a WorkUnit when a job is available, or nil
when all queues are empty.