Sha256: fe06c2badd8f87e2ec3d74b4c39fe91c0d900ae333a57e0135c126ac2efea056
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true require 'thor' module HttpHealthCheck module Utils module Karafka # returns a list of consumer groups configured for current process # # @param karafka_app descendant of Karafka::App def self.consumer_groups(karafka_app, program_name: $PROGRAM_NAME, argv: ARGV) # rubocop:disable Metrics/AbcSize all_groups = karafka_app.consumer_groups.map(&:id) client_id_prefix = "#{karafka_app.config.client_id.gsub('-', '_')}_" return all_groups if program_name.split('/').last != 'karafka' return all_groups if argv[0] != 'server' parsed_option = Thor::Options.new( consumer_groups: Thor::Option.new(:consumer_groups, type: :array, default: nil, aliases: :g) ).parse(argv).fetch('consumer_groups', []).first.to_s return all_groups if parsed_option == '' groups_from_option = parsed_option.split(' ').map { |g| client_id_prefix + g } & all_groups groups_from_option.empty? ? all_groups : groups_from_option end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
http_health_check-1.0.0 | lib/http_health_check/utils/karafka.rb |
http_health_check-0.5.0 | lib/http_health_check/utils/karafka.rb |