Module: RocketJob

Defined in:
lib/rocketjob.rb,
lib/rocket_job/cli.rb,
lib/rocket_job/job.rb,
lib/rocket_job/config.rb,
lib/rocket_job/server.rb,
lib/rocket_job/worker.rb,
lib/rocket_job/version.rb,
lib/rocket_job/heartbeat.rb,
lib/rocket_job/performance.rb,
lib/rocket_job/dirmon_entry.rb,
lib/rocket_job/plugins/cron.rb,
lib/rocket_job/active_worker.rb,
lib/rocket_job/job_exception.rb,
lib/rocket_job/plugins/retry.rb,
lib/rocket_job/jobs/dirmon_job.rb,
lib/rocket_job/jobs/simple_job.rb,
lib/rocket_job/plugins/restart.rb,
lib/rocket_job/plugins/document.rb,
lib/rocket_job/plugins/job/model.rb,
lib/rocket_job/plugins/singleton.rb,
lib/rocket_job/plugins/job/logger.rb,
lib/rocket_job/plugins/job/worker.rb,
lib/rocket_job/plugins/job/throttle.rb,
lib/rocket_job/jobs/housekeeping_job.rb,
lib/rocket_job/plugins/job/callbacks.rb,
lib/rocket_job/plugins/state_machine.rb,
lib/rocket_job/plugins/job/persistence.rb,
lib/rocket_job/plugins/job/state_machine.rb,
lib/rocket_job/plugins/processing_window.rb

Overview

Worker behavior for a job

Defined Under Namespace

Modules: Jobs, Plugins Classes: ActiveWorker, CLI, Config, DirmonEntry, Heartbeat, Job, JobException, Performance, Server, Worker

Constant Summary collapse

VERSION =
'3.0.3'

Class Method Summary collapse

Class Method Details

.seconds_as_duration(seconds) ⇒ Object

@formatter:on Returns a human readable duration from the supplied [Float] number of seconds



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/rocketjob.rb', line 50

def self.seconds_as_duration(seconds)
  return nil unless seconds
  if seconds >= 86400.0 # 1 day
    "#{(seconds / 86400).to_i}d #{Time.at(seconds).strftime('%-Hh %-Mm')}"
  elsif seconds >= 3600.0 # 1 hour
    Time.at(seconds).strftime('%-Hh %-Mm')
  elsif seconds >= 60.0 # 1 minute
    Time.at(seconds).strftime('%-Mm %-Ss')
  elsif seconds >= 1.0 # 1 second
    "#{'%.3f' % seconds}s"
  else
    duration = seconds * 1000
    if defined? JRuby
      "#{duration.to_i}ms"
    else
      duration < 10.0 ? "#{'%.3f' % duration}ms" : "#{'%.1f' % duration}ms"
    end
  end
end