Class: Karafka::Web::Ui::Pro::Controllers::Dlq

Inherits:
Controllers::Base show all
Defined in:
lib/karafka/web/ui/pro/controllers/dlq.rb

Overview

DLQ topics overview

Instance Method Summary collapse

Methods inherited from Controllers::Base

#initialize

Constructor Details

This class inherits a constructor from Karafka::Web::Ui::Controllers::Base

Instance Method Details

#indexObject

Lists DLQ topics



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/karafka/web/ui/pro/controllers/dlq.rb', line 22

def index
  topics = Karafka::App.consumer_groups.flat_map(&:topics).flat_map(&:to_a)

  dlq_topic_names = topics
                    .map { |source_topic| source_topic.dead_letter_queue.topic }
                    .uniq
                    .compact
                    .select(&:itself)

  @dlq_topics = Models::ClusterInfo
                .topics
                .select { |topic| dlq_topic_names.include?(topic[:topic_name]) }
                .sort_by { |topic| topic[:topic_name] }

  render
end