lib/modern_times/manager.rb in modern_times-0.2.11 vs lib/modern_times/manager.rb in modern_times-0.3.0
- old
+ new
@@ -9,15 +9,15 @@
def initialize(config={})
@stopped = false
@config = config
@domain = config[:domain] || ModernTimes::DEFAULT_DOMAIN
@supervisors = []
+ @dummy_host = config[:dummy_host]
self.persist_file = config[:persist_file]
self.worker_file = config[:worker_file]
@allowed_workers = config[:allowed_workers]
stop_on_signal if config[:stop_on_signal]
- @dummy_host = config[:dummy_host]
# Unless specifically unconfigured (i.e., Rails.env == test), then enable jmx
if config[:jmx] != false
@jmx_server = JMX::MBeanServer.new
bean = ManagerMBean.new(@domain, self)
@jmx_server.register_mbean(bean, ModernTimes.manager_mbean_object_name(@domain))
@@ -58,10 +58,11 @@
return if @started
@started = true
end
def stop
+ return if @stopped
@stopped = true
@supervisors.each { |supervisor| supervisor.stop }
end
def join
@@ -79,22 +80,24 @@
end
end
end
def persist_file=(file)
+ return if @persist_file == file
+ @persist_file = nil
return unless file
- @persist_file = file
if File.exist?(file)
hash = YAML.load_file(file)
hash.each do |worker_name, worker_hash|
klass = worker_hash[:klass]
count = worker_hash[:count]
options = worker_hash[:options]
options[:name] = worker_name
add(klass, count, options)
end
end
+ @persist_file = file
end
def save_persist_state
return unless @persist_file
hash = {}
@@ -104,9 +107,10 @@
:count => supervisor.worker_count,
:options => supervisor.worker_options
}
end
File.open(@persist_file, 'w') do |out|
+ YAML.dump(hash, out )
YAML.dump(hash, out )
end
end
def find_supervisor(name)