Sha256: bd6aba181494bd1f5d26cf864fef9d3843cafdc02fc769e4e7995e54b6518a74
Contents?: true
Size: 882 Bytes
Versions: 5
Compression:
Stored size: 882 Bytes
Contents
require "kafka/broker" module Kafka class BrokerPool def initialize(client_id:, connect_timeout: nil, socket_timeout: nil, logger:) @client_id = client_id @connect_timeout = connect_timeout @socket_timeout = socket_timeout @logger = logger @brokers = {} end def connect(host, port, node_id: nil) return @brokers.fetch(node_id) if @brokers.key?(node_id) broker = Broker.connect( host: host, port: port, node_id: node_id, client_id: @client_id, connect_timeout: @connect_timeout, socket_timeout: @socket_timeout, logger: @logger, ) @brokers[node_id] = broker unless node_id.nil? broker end def close @brokers.each do |id, broker| @logger.info "Disconnecting broker #{id}" broker.disconnect end end end end
Version data entries
5 entries across 5 versions & 1 rubygems