Sha256: 33453395f4781c5eab8a9c0950740b856b6172e79a6022a651f140fd25438f50

Contents?: true

Size: 919 Bytes

Versions: 3

Compression:

Stored size: 919 Bytes

Contents

# frozen_string_literal: true

module Karafka
  module Routing
    module Features
      class DeadLetterQueue < Base
        # Config for dead letter queue feature
        Config = Struct.new(
          :active,
          # We add skip variants but in regular we support only `:one`
          :max_retries,
          # To what topic the skipped messages should be moved
          :topic,
          # Should retries be handled collectively on a batch or independently per message
          :independent,
          # Move to DLQ and mark as consumed in transactional mode (if applicable)
          :transactional,
          # Strategy to apply (if strategies supported)
          :strategy,
          keyword_init: true
        ) do
          alias_method :active?, :active
          alias_method :independent?, :independent
          alias_method :transactional?, :transactional
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
karafka-2.3.4 lib/karafka/routing/features/dead_letter_queue/config.rb
karafka-2.3.3 lib/karafka/routing/features/dead_letter_queue/config.rb
karafka-2.3.2 lib/karafka/routing/features/dead_letter_queue/config.rb