Method: ApplicationJob#duration

Defined in:
lib/app/jobs/application_job.rb

#durationObject

Public: Determine the duration of the process, only reporting on the values that are

greater than zero.

Examples

duration
# => '1 day 1 hour 32 minutes 10 seconds'
# => '1 hour 32 minutes 10 seconds'
# => '32 minutes 10 seconds'
# => '10 seconds'

Returns the duration up until this point in time.



77
78
79
80
81
82
83
# File 'lib/app/jobs/application_job.rb', line 77

def duration
  start_time = started_at.is_a?(String) ? Time.parse(started_at) : started_at
  minutes, seconds = split_duration(Time.zone.now - start_time)
  hours, minutes = split_duration minutes
  days, hours = split_duration hours, 24
  report_duration(days, hours, minutes, seconds)
end