class Dynflow::Executors::Parallel::Pool::JobStorage

Public Class Methods

new() click to toggle source
# File lib/dynflow/executors/parallel/pool.rb, line 8
def initialize
  @jobs = []
end

Public Instance Methods

add(work) click to toggle source
# File lib/dynflow/executors/parallel/pool.rb, line 12
def add(work)
  @jobs << work
end
empty?() click to toggle source
# File lib/dynflow/executors/parallel/pool.rb, line 20
def empty?
  @jobs.empty?
end
pop() click to toggle source
# File lib/dynflow/executors/parallel/pool.rb, line 16
def pop
  @jobs.shift
end
queue_size(execution_plan_id = nil) click to toggle source
# File lib/dynflow/executors/parallel/pool.rb, line 24
def queue_size(execution_plan_id = nil)
  if execution_plan_id
    @jobs.count do |item|
      item.respond_to?(:execution_plan_id) && item.execution_plan_id == execution_plan_id
    end
  else
    @jobs.size
  end
end