Class: StepperMotor::DeleteCompletedJourneysJob
- Defined in:
- lib/stepper_motor/delete_completed_journeys_job.rb
Overview
The purpose of this job is to find journeys which have completed (finished or canceled) some time ago and to delete them. The time is configured in the initializer.
Instance Method Summary collapse
Instance Method Details
#perform(completed_for: StepperMotor.delete_completed_journeys_after) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/stepper_motor/delete_completed_journeys_job.rb', line 6 def perform(completed_for: StepperMotor.delete_completed_journeys_after, **) return unless completed_for.present? scope = StepperMotor::Journey.where(state: ["finished", "canceled"], updated_at: ..completed_for.ago) scope.in_batches.each do |rel| rel.delete_all rescue => e Rails.try(:error).try(:report, e) end end |