Module: ActionSubscriber::Babou

Defined in:
lib/action_subscriber/babou.rb

Class Method Summary collapse

Class Method Details

.loggerObject



27
28
29
# File 'lib/action_subscriber/babou.rb', line 27

def self.logger
  ::ActionSubscriber::Logging.logger
end

.reload_active_recordObject



31
32
33
34
35
# File 'lib/action_subscriber/babou.rb', line 31

def self.reload_active_record
  if defined?(::ActiveRecord::Base) && !::ActiveRecord::Base.connected?
    ::ActiveRecord::Base.establish_connection
  end
end

.shutting_down?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/action_subscriber/babou.rb', line 37

def self.shutting_down?
  !!@shutting_down
end

.start_subscribersObject

Class Methods



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/action_subscriber/babou.rb', line 6

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"

  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"
  exit(0)
end

.stop_server!Object



41
42
43
# File 'lib/action_subscriber/babou.rb', line 41

def self.stop_server!
  @shutting_down = true
end