Sha256: db1aa1ad45c8000f01362f143e6419abb09e94a4a009fdad86c0e7977b248c4b
Contents?: true
Size: 950 Bytes
Versions: 12
Compression:
Stored size: 950 Bytes
Contents
class ScheduledTask < ActiveRecord::Base module Log def log_file(identifier) unless log_identifiers.include?(identifier) fail "Log identifier unknown: \"#{identifier}\" (Valid: #{log_identifiers})" end Rails.root.join('log', 'tasks_scheduler', "#{id}_#{identifier}.log") end private def log_identifiers [LOG_RUNNING, LOG_UNSUCCESSFUL, LOG_SUCCESSFUL] end def log_on_start log_file = log_file(LOG_RUNNING) FileUtils.mkdir_p(File.dirname(log_file)) File.unlink(log_file) if File.exist?(log_file) STDOUT.reopen(log_file, 'w') STDERR.reopen(log_file, 'w') Rails.logger = ActiveSupport::Logger.new(STDOUT) end def log_on_end(exception) target_log = exception ? log_file(LOG_UNSUCCESSFUL) : log_file(LOG_SUCCESSFUL) File.unlink(target_log) if File.exist?(target_log) File.rename(log_file(LOG_RUNNING), target_log) end end end
Version data entries
12 entries across 12 versions & 1 rubygems