Class: Legion::Supervision

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/supervison.rb

Overview

Used to manage and start Celluloid and Supervisor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSupervision

Returns a new instance of Supervision.



7
8
9
10
11
12
# File 'lib/legion/supervison.rb', line 7

def initialize
  Legion::Logging.debug('Initializing Legion::Supervision')
  Legion::Logging.info('Starting Celluloid')
  Celluloid.logger = Legion::Logging
  start_supervision
end

Instance Attribute Details

#supervision_groupObject

Returns the value of attribute supervision_group.



6
7
8
# File 'lib/legion/supervison.rb', line 6

def supervision_group
  @supervision_group
end

Instance Method Details

#start_supervisionObject



14
15
16
17
18
# File 'lib/legion/supervison.rb', line 14

def start_supervision
  Legion::Logging.debug('Starting Celluloid::Supervision::Container.run!')
  @supervision_group = Celluloid::Supervision::Container.run!
  Legion::Logging.info('Celluloid Supervisor has started')
end

#stop_supervisionObject



20
21
22
23
24
25
26
# File 'lib/legion/supervison.rb', line 20

def stop_supervision
  Legion::Logging.info('Shutting down the Supervision group')
  @supervision_group.shutdown
  sleep(1)
  Celluloid.shutdown
  Legion::Logging.info('Legion Celluloid Supervision Group has been shutdown')
end