lib/bluepill/process_journal.rb in bluepill-0.0.62 vs lib/bluepill/process_journal.rb in bluepill-0.0.63
- old
+ new
@@ -4,14 +4,21 @@
module ProcessJournal
extend self
class << self
attr_reader :logger
+ attr_reader :journal_base_dir
def logger=(new_logger)
@logger ||= new_logger
end
+
+ def base_dir=(base_dir)
+ @journal_base_dir ||= File.join(base_dir, "journals")
+ FileUtils.mkdir_p(@journal_base_dir) unless File.exists?(@journal_base_dir)
+ FileUtils.chmod(0777, @journal_base_dir)
+ end
end
def skip_pid?(pid)
!pid.is_a?(Integer) || pid <= 1
end
@@ -47,27 +54,27 @@
System.delete_if_exists(f) if File.directory?(f)
end
end
def pid_journal_filename(journal_name)
- ".bluepill_pids_journal.#{journal_name}"
+ File.join(@journal_base_dir, ".bluepill_pids_journal.#{journal_name}")
end
def pgid_journal_filename(journal_name)
- ".bluepill_pgids_journal.#{journal_name}"
+ File.join(@journal_base_dir, ".bluepill_pgids_journal.#{journal_name}")
end
def pid_journal(filename)
- logger.debug("pid journal PWD=#{Dir.pwd}")
+ logger.debug("pid journal file: #{filename}")
result = File.open(filename, 'r').readlines.map(&:to_i).reject {|pid| skip_pid?(pid)}
logger.debug("pid journal = #{result.join(' ')}")
result
rescue Errno::ENOENT
[]
end
def pgid_journal(filename)
- logger.debug("pgid journal PWD=#{Dir.pwd}")
+ logger.debug("pgid journal file: #{filename}")
result = File.open(filename, 'r').readlines.map(&:to_i).reject {|pgid| skip_pgid?(pgid)}
logger.debug("pgid journal = #{result.join(' ')}")
result
rescue Errno::ENOENT
[]