Sha256: fab6858e8c510a6f9bf83b2db2b2604cba5d302b4d8cb238b6ae1aba4f078a01

Contents?: true

Size: 815 Bytes

Versions: 16

Compression:

Stored size: 815 Bytes

Contents

class Indocker::ServerPools::BuildServerPool
  def initialize(configuration:, logger:)
    @logger = logger
    @configuration = configuration

    @connections = configuration.build_servers.map do |build_server|
      Indocker::ServerPools::BuildServerConnection.new(
        logger: @logger,
        configuration: configuration,
        server: build_server,
      )
    end
  end

  def create_sessions!
    @connections.each(&:create_session!)
  end

  def get
    context = nil

    loop do
      context = @connections.detect {|c| !c.busy?}
      sleep(0.1)
      break if context
    end

    context
  end

  def each(&proc)
    @connections.each(&proc)
  end

  def close_sessions
    @connections.each(&:close_session)
  rescue => e
    @logger.error("error during session close: #{e.inspect}")
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
indocker-0.3.9 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.8 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.7 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.6 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.5 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.4 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.3 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.2 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.18 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.1 lib/indocker/server_pools/build_server_pool.rb
indocker-0.3.0 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.17 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.16 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.15 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.14 lib/indocker/server_pools/build_server_pool.rb
indocker-0.1.13 lib/indocker/server_pools/build_server_pool.rb