class Libis::Workflow::ActiveRecord::Run

Public Instance Methods

close_logger() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 77
def close_logger
  # noinspection RubyResolve
  return unless self.log_to_file
  ::Logging::Appenders[self.name].close
  ::Logging::Appenders.remove(self.name)
  ::Logging::Repository.instance.delete(self.name)
end
logger() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 52
def logger
  # noinspection RubyResolve
  unless self.log_to_file
    return self.job.logger
  end
  logger = ::Logging::Repository.instance[self.name]
  return logger if logger
  unless ::Logging::Appenders[self.name]
    # noinspection RubyResolve
    self.log_filename ||= File.join(::Libis::Workflow::ActiveRecord::Config[:log_dir], "#{self.name}-#{self.id}.log")
    # noinspection RubyResolve
    ::Logging::Appenders::File.new(
        self.name,
        filename: self.log_filename,
        layout: ::Libis::Workflow::ActiveRecord::Config.get_log_formatter,
        level: self.log_level
    )
  end
  logger = ::Libis::Workflow::ActiveRecord::Config.logger(self.name, self.name)
  logger.additive = false
  # noinspection RubyResolve
  logger.level = self.log_level
  logger
end
name() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 85
def name
  parts = [self.job.name]
  parts << self.run_name unless self.run_name.blank?
  parts << self.created_at.strftime('%Y%m%d-%H%M%S')
  parts << self.id.to_s if self.run_name.blank?
  parts.join('-')
rescue
  self.id.to_s
end
rm_log() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 27
def rm_log
  # noinspection RubyResolve
  log_file = self.log_filename
  FileUtils.rm(log_file) if log_file && !log_file.blank? && File.exist?(log_file)
end
rm_workdir() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 33
def rm_workdir
  workdir = self.work_dir
  FileUtils.rmtree workdir if workdir && !workdir.blank? && Dir.exist?(workdir)
end
run(action = :run) click to toggle source
Calls superclass method
# File lib/libis/workflow/activerecord/run.rb, line 45
def run(action = :run)
  self.start_date = Time.now
  self.tasks = []
  super action
  close_logger
end
work_dir() click to toggle source
# File lib/libis/workflow/activerecord/run.rb, line 38
def work_dir
  # noinspection RubyResolve
  dir = File.join(Libis::Workflow::Config.workdir, self.id.to_s)
  FileUtils.mkpath dir unless Dir.exist?(dir)
  dir
end