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