karafka/karafka

View on GitHub
bin/wait_for_kafka

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby

# Waits for Kafka to be ready
# Useful in CI where Kafka needs to be fully started before we run any tests

require 'karafka'

Karafka::App.setup do |config|
  config.kafka[:'bootstrap.servers'] = '127.0.0.1:9092'
end

60.times do
  begin
    # Stop if we can connect to the cluster and get info
    exit if Karafka::Admin.cluster_info
  rescue Rdkafka::RdkafkaError
    puts "Kafka not available, retrying..."
    sleep(1)
  end
end

puts 'Kafka not available!'

exit 1