Sha256: 7bd0304aeceb532901012aa918d8f6e8492ba5cb5efab05d5aaf189a1fda9f4b

Contents?: true

Size: 1.26 KB

Versions: 10

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

require 'rails'
require 'action_view'
require 'parallel'

module RubyRabbitmqJanus
  # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>

  # # Rails
  #
  # Use option to rails for prepare application with RRJ.
  # Initialize public queue to Janus instance.
  class Rails < ::Rails::Engine
    config.after_initialize do
      Log.debug '[RRJ] After initializer'
      cfg = RubyRabbitmqJanus::Tools::Config.instance
      number = cfg.public_queue_process

      require File.join(Dir.pwd, cfg.listener_path)
      require File.join(Dir.pwd, cfg.listener_admin_path)

      Log.debug "[RRJ] Create process : #{number}"
      process = RubyRabbitmqJanus::Process::Concurrencies
      actions = RubyRabbitmqJanus::ActionEvents.new.actions
      admin_actions = RubyRabbitmqJanus::ActionAdminEvents.new.actions

      listeners = []
      (1..number).each do
        listeners.push process::Event.new.run(&actions)
        listeners.push process::EventAdmin.new.run(&admin_actions)
      end

      Parallel.each(listeners, in_processes: number) do |listener|
        item = "[Item##{listener}]"
        Log.warn "#{item}, Worker : #{Parallel.worker_number + 1} / #{number}"
      end
    end
  end
end

require ::File.expand_path('config/environment', Dir.pwd)

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-4.0.0.pre.850041590 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.1 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.387 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.385 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.384 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.382 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.366 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.364 lib/rrj/rails.rb
ruby_rabbitmq_janus-3.0.0.pre.358 lib/rrj/rails.rb