Sha256: 6439784540828e25fe5d2da03c2e035766c47a03b34fd4eb89d41dddcd2d8be3
Contents?: true
Size: 1.79 KB
Versions: 19
Compression:
Stored size: 1.79 KB
Contents
# frozen_string_literal: true <% unless rails? -%> # This file is auto-generated during the install process. # If by any chance you've wanted a setup for Rails app, either run the `karafka:install` # command again or refer to the install templates available in the source codes ENV['RACK_ENV'] ||= 'development' ENV['KARAFKA_ENV'] ||= ENV['RACK_ENV'] Bundler.require(:default, ENV['KARAFKA_ENV']) # Zeitwerk custom loader for loading the app components before the whole # Karafka framework configuration APP_LOADER = Zeitwerk::Loader.new APP_LOADER.enable_reloading %w[ lib app/consumers ].each { |dir| APP_LOADER.push_dir(dir) } APP_LOADER.setup APP_LOADER.eager_load <% end -%> class KarafkaApp < Karafka::App setup do |config| config.kafka = { 'bootstrap.servers': '127.0.0.1:9092' } config.client_id = 'example_app' <% if rails? -%> # Recreate consumers with each batch. This will allow Rails code reload to work in the # development mode. Otherwise Karafka process would not be aware of code changes config.consumer_persistence = !Rails.env.development? <% end -%> end # Comment out this part if you are not using instrumentation and/or you are not # interested in logging events for certain environments. Since instrumentation # notifications add extra boilerplate, if you want to achieve max performance, # listen to only what you really need for given environment. Karafka.monitor.subscribe(Karafka::Instrumentation::LoggerListener.new) # Karafka.monitor.subscribe(Karafka::Instrumentation::ProctitleListener.new) routes.draw do <% if rails? -%> # Uncomment this if you use Karafka with ActiveJob # You ned to define the topic per each queue name you use # active_job_topic :default <% end -%> topic :example do consumer ExampleConsumer end end end
Version data entries
19 entries across 19 versions & 1 rubygems