Class: Kafka::Client
- Inherits:
-
Object
- Object
- Kafka::Client
- Defined in:
- lib/kafka/client.rb
Constant Summary collapse
- DEFAULT_CLIENT_ID =
"ruby-kafka"
Instance Method Summary collapse
- #close ⇒ Object
-
#get_producer(**options) ⇒ Producer
Builds a new producer.
-
#initialize(seed_brokers:, client_id: DEFAULT_CLIENT_ID, logger:, socket_timeout: nil) ⇒ Client
constructor
Initializes a new Kafka client.
-
#topics ⇒ Array<String>
Lists all topics in the cluster.
Constructor Details
#initialize(seed_brokers:, client_id: DEFAULT_CLIENT_ID, logger:, socket_timeout: nil) ⇒ Client
Initializes a new Kafka client.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/kafka/client.rb', line 21 def initialize(seed_brokers:, client_id: DEFAULT_CLIENT_ID, logger:, socket_timeout: nil) @logger = logger @broker_pool = BrokerPool.new( seed_brokers: seed_brokers, client_id: client_id, logger: logger, socket_timeout: socket_timeout, ) end |
Instance Method Details
#close ⇒ Object
49 50 51 |
# File 'lib/kafka/client.rb', line 49 def close @broker_pool.shutdown end |
#get_producer(**options) ⇒ Producer
Builds a new producer.
options are passed to Producer#initialize.
38 39 40 |
# File 'lib/kafka/client.rb', line 38 def get_producer(**) Producer.new(broker_pool: @broker_pool, logger: @logger, **) end |
#topics ⇒ Array<String>
Lists all topics in the cluster.
45 46 47 |
# File 'lib/kafka/client.rb', line 45 def topics @broker_pool.topics end |