Sha256: be5c6be5e82e6805472700cae99d97991265d33b3c270c0831e76917af1add36

Contents?: true

Size: 1.21 KB

Versions: 83

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Karafka
  module Routing
    module Features
      class ManualOffsetManagement < Base
        # Topic extensions to be able to manage manual offset management settings
        module Topic
          # @param active [Boolean] should we stop managing the offset in Karafka and make the user
          #   responsible for marking messages as consumed.
          # @return [Config] defined config
          #
          # @note Since this feature supports only one setting (active), we can use the old API
          # where the boolean would be an argument
          def manual_offset_management(active = false)
            @manual_offset_management ||= Config.new(active: active)
          end

          # @return [Boolean] is manual offset management enabled for a given topic
          def manual_offset_management?
            manual_offset_management.active?
          end

          # @return [Hash] topic with all its native configuration options plus manual offset
          #   management namespace settings
          def to_h
            super.merge(
              manual_offset_management: manual_offset_management.to_h
            ).freeze
          end
        end
      end
    end
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
karafka-2.4.17 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.16 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.15 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.14 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.13 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.12 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.11 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.10 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.9 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.8 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.7 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.6 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.5 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.4 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.3 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.0 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.0.rc1 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.3.4 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.0.beta2 lib/karafka/routing/features/manual_offset_management/topic.rb
karafka-2.4.0.beta1 lib/karafka/routing/features/manual_offset_management/topic.rb