Module: RedisClient::Cluster::ConcurrentWorker

Defined in:
lib/redis_client/cluster/concurrent_worker.rb,
lib/redis_client/cluster/concurrent_worker/none.rb,
lib/redis_client/cluster/concurrent_worker/pooled.rb,
lib/redis_client/cluster/concurrent_worker/on_demand.rb

Defined Under Namespace

Classes: Group, None, OnDemand, Pooled

Constant Summary collapse

InvalidNumberOfTasks =
Class.new(StandardError)

Class Method Summary collapse

Class Method Details

.create(model: :on_demand, size: 5) ⇒ Object



74
75
76
77
78
79
80
81
82
83
# File 'lib/redis_client/cluster/concurrent_worker.rb', line 74

def create(model: :on_demand, size: 5)
  size = size.positive? ? size : 5

  case model
  when :on_demand, nil then ::RedisClient::Cluster::ConcurrentWorker::OnDemand.new(size: size)
  when :pooled then ::RedisClient::Cluster::ConcurrentWorker::Pooled.new(size: size)
  when :none then ::RedisClient::Cluster::ConcurrentWorker::None.new
  else raise ArgumentError, "Unknown model: #{model}"
  end
end