Class: Libis::Workflow::ActiveRecord::Run
- Inherits:
-
WorkItem
- Object
- ActiveRecord::Base
- WorkItem
- Libis::Workflow::ActiveRecord::Run
show all
- Includes:
- Base::Run
- Defined in:
- lib/libis/workflow/activerecord/run.rb
Instance Method Summary
collapse
Methods inherited from WorkItem
#add_item, #copy_item, #duplicate, #get_item_list, #get_items, #move_item
included
Methods included from Base
included, #to_hash, #to_s
Instance Method Details
#close_logger ⇒ Object
77
78
79
80
81
82
83
|
# File 'lib/libis/workflow/activerecord/run.rb', line 77
def close_logger
return unless self.log_to_file
::Logging::Appenders[self.name].close
::Logging::Appenders.remove(self.name)
::Logging::Repository.instance.delete(self.name)
end
|
#logger ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/libis/workflow/activerecord/run.rb', line 52
def logger
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]
self.log_filename ||= File.join(::Libis::Workflow::ActiveRecord::Config[:log_dir], "#{self.name}-#{self.id}.log")
::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
logger.level = self.log_level
logger
end
|
#name ⇒ Object
85
86
87
88
89
90
91
92
93
|
# 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 ⇒ Object
27
28
29
30
31
|
# File 'lib/libis/workflow/activerecord/run.rb', line 27
def rm_log
log_file = self.log_filename
FileUtils.rm(log_file) if log_file && !log_file.blank? && File.exist?(log_file)
end
|
#rm_workdir ⇒ Object
33
34
35
36
|
# 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) ⇒ Object
45
46
47
48
49
50
|
# 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 ⇒ Object
38
39
40
41
42
43
|
# File 'lib/libis/workflow/activerecord/run.rb', line 38
def work_dir
dir = File.join(Libis::Workflow::Config.workdir, self.id.to_s)
FileUtils.mkpath dir unless Dir.exist?(dir)
dir
end
|