module ActionSubscriber::Babou

Public Class Methods

logger() click to toggle source
# File lib/action_subscriber/babou.rb, line 30
def self.logger
  ::ActionSubscriber::Logging.logger
end
reload_active_record() click to toggle source
# File lib/action_subscriber/babou.rb, line 34
def self.reload_active_record
  if defined?(::ActiveRecord::Base) && !::ActiveRecord::Base.connected?
    ::ActiveRecord::Base.establish_connection
  end
end
shutting_down?() click to toggle source
# File lib/action_subscriber/babou.rb, line 40
def self.shutting_down?
  !!@shutting_down
end
start_subscribers() click to toggle source

Class Methods

# File lib/action_subscriber/babou.rb, line 8
def self.start_subscribers
  reload_active_record
  ::ActionSubscriber.setup_default_threadpool!
  ::ActionSubscriber.setup_subscriptions!
  ::ActionSubscriber.print_subscriptions
  ::ActionSubscriber.start_subscribers!
  logger.info "Action Subscriber connected"
  ::ActiveSupport::Notifications.instrument("action_subscriber:server_started")
  while true
    sleep 1.0 #just hang around waiting for messages
    break if shutting_down?
  end

  logger.info "Stopping subscribers..."
  ::ActionSubscriber.stop_subscribers!
  logger.info "Shutting down"
  ::ActionSubscriber::RabbitConnection.subscriber_disconnect!
  logger.info "Shutdown complete"
  ::ActiveSupport::Notifications.instrument("action_subscriber:server_stopped")
  exit(0)
end
stop_server!() click to toggle source
# File lib/action_subscriber/babou.rb, line 44
def self.stop_server!
  @shutting_down = true
end