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/rocket_job.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/active_job.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,
lib/rocket_job/plugins/job/throttle_running_jobs.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.2.1'

Class Method Summary collapse

Class Method Details

.rails!Object



49
50
51
# File 'lib/rocket_job/rocket_job.rb', line 49

def self.rails!
  @rails = true
end

.rails?Boolean

When running inside a Rocket Job server process, returns true when Rails has been initialized.

Returns:

  • (Boolean)


9
10
11
# File 'lib/rocket_job/rocket_job.rb', line 9

def self.rails?
  @rails
end

.seconds_as_duration(seconds) ⇒ Object

Returns a human readable duration from the supplied [Float] number of seconds



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/rocket_job/rocket_job.rb', line 20

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

.server!Object



45
46
47
# File 'lib/rocket_job/rocket_job.rb', line 45

def self.server!
  @server = true
end

.server?Boolean

Whether the current process is running inside a Rocket Job server process.

Returns:

  • (Boolean)


3
4
5
# File 'lib/rocket_job/rocket_job.rb', line 3

def self.server?
  @server
end

.standalone?Boolean

When running inside a Rocket Job server process, returns true when running standalone.

Returns:

  • (Boolean)


15
16
17
# File 'lib/rocket_job/rocket_job.rb', line 15

def self.standalone?
  !@rails
end