class Indocker::ServerPools::BuildServerPool
Public Class Methods
new(configuration:, logger:)
click to toggle source
# File lib/indocker/server_pools/build_server_pool.rb, line 2 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
Public Instance Methods
close_sessions()
click to toggle source
# File lib/indocker/server_pools/build_server_pool.rb, line 35 def close_sessions @connections.each(&:close_session) rescue => e @logger.error("error during session close: #{e.inspect}") end
create_sessions!()
click to toggle source
# File lib/indocker/server_pools/build_server_pool.rb, line 15 def create_sessions! @connections.each(&:create_session!) end
each(&proc)
click to toggle source
# File lib/indocker/server_pools/build_server_pool.rb, line 31 def each(&proc) @connections.each(&proc) end
get()
click to toggle source
# File lib/indocker/server_pools/build_server_pool.rb, line 19 def get context = nil loop do context = @connections.detect {|c| !c.busy?} sleep(0.1) break if context end context end