lib/legion/supervison.rb in legionio-0.1.1 vs lib/legion/supervison.rb in legionio-0.2.0

- old
+ new

@@ -1,28 +1,14 @@ -require 'celluloid/io' - module Legion - # Used to manage and start Celluloid and Supervisor - class Supervision - attr_accessor :supervision_group - def initialize - Legion::Logging.debug('Initializing Legion::Supervision') - Legion::Logging.info('Starting Celluloid') - Celluloid.logger = Legion::Logging - start_supervision - end - - 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 - - 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') + module Supervision + class << self + attr_accessor :timer_tasks + def setup + @timer_tasks = Concurrent::AtomicReference.new([]) + @once_tasks = Concurrent::AtomicReference.new([]) + @loop_tasks = Concurrent::AtomicReference.new([]) + @poll_tasks = Concurrent::AtomicReference.new([]) + @subscriptions = Concurrent::AtomicReference.new([]) + end end end end