class DRbQS::ProcessList::Node
Public Instance Methods
clear_process_not_exist()
click to toggle source
# File lib/drbqs/config/process_list.rb, line 163 def clear_process_not_exist server = Hash.new do |h, k| h[k] = Array.new end list.each do |pid, data| if DRbQS::Misc.process_running_normally?(pid) server[data[:uri]] << pid else delete(pid) end end server.each do |server_uri, pid_ary| unless DRbQS::Manage.new(:uri => server_uri).server_respond? pid_ary.each do |pid| delete(pid) end end end end
delete(pid)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 159 def delete(pid) delete_file(pid_to_file(pid)) end
get(pid)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 155 def get(pid) load_file(pid_to_file(pid)) end
list()
click to toggle source
# File lib/drbqs/config/process_list.rb, line 139 def list h = {} entries.each do |file| h[file_to_pid(file)] = load_file(file) end h end
save(pid, data)
click to toggle source
If file exists then this method overwrites the file.
# File lib/drbqs/config/process_list.rb, line 148 def save(pid, data) unless save_file(pid_to_file(pid), data) delete(pid) save(pid, data) end end
Private Instance Methods
file_to_pid(file)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 134 def file_to_pid(file) file.sub(/\.yaml$/, '').to_i end
pid_to_file(pid)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 129 def pid_to_file(pid) sprintf("%010d.yaml", pid) end