Class: Cron::TrimCommandJobs

Inherits:
TrimCollection show all
Defined in:
lib/app/jobs/cron/trim_command_jobs.rb

Overview

Clean up Jobs

Instance Attribute Summary

Attributes inherited from ApplicationJob

#payload, #started_at

Instance Method Summary collapse

Methods inherited from TrimCollection

#allowed_time, #archive?, #comparison_field, #execute, #trim_item

Methods inherited from Job

cron_tab_entry, #notify_job_failure, #send_support_email

Methods inherited from ApplicationJob

#duration, #parse_payload, #perform, valid_environment?, valid_environments

Methods included from App47Logger

clean_params, #clean_params, delete_parameter_keys, #log_controller_error, log_debug, #log_debug, log_error, #log_error, log_exception, #log_message, log_message, #log_warn, log_warn, mask_parameter_keys, #update_flash_messages

Instance Method Details

#allowed_time_for_item(job) ⇒ Object

Check which audit logs we wanted deleted

Should be older than 90 days and either not a user model audit log or the model associated with the UserModelAuditLog has been deleted



21
22
23
24
25
26
# File 'lib/app/jobs/cron/trim_command_jobs.rb', line 21

def allowed_time_for_item(job)
  job.ttl.days.ago.utc
rescue StandardError => error
  App47Logger.log_warn "Unable to determine if job should be archived: #{job.inspect}", error
  30.days.ago.utc
end

#collectionObject

Fetch each Audit Log and delete it if hasn’t been updated in 90 days



11
12
13
# File 'lib/app/jobs/cron/trim_command_jobs.rb', line 11

def collection
  CommandJob.all
end