Sha256: 99a4f02575ae9d20df6430dc14be09a717bf131eafceaa6eda0498a0c2b180ab

Contents?: true

Size: 1.86 KB

Versions: 17

Compression:

Stored size: 1.86 KB

Contents

# frozen_string_literal: true

<% if rails? -%>
require ::File.expand_path('../config/environment', __FILE__)
<% else -%>
# 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

17 entries across 17 versions & 1 rubygems

Version Path
karafka-2.0.3 lib/karafka/templates/karafka.rb.erb
karafka-2.0.2 lib/karafka/templates/karafka.rb.erb
karafka-2.0.1 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc6 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc5 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc4 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc3 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc2 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.rc1 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.beta5 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.beta4 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.beta3 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.beta2 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.beta1 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.alpha6 lib/karafka/templates/karafka.rb.erb
karafka-2.0.0.alpha5 lib/karafka/templates/karafka.rb.erb