Parent

Methods

Delayed::Worker

Constants

SLEEP

Public Class Methods

new(options={}) click to toggle source
# File lib/delayed/worker.rb, line 8
def initialize(options={})
  @quiet = options[:quiet]
  Delayed::Job.min_priority = options[:min_priority] if options.has_key?(:min_priority)
  Delayed::Job.max_priority = options[:max_priority] if options.has_key?(:max_priority)
end

Public Instance Methods

say(text) click to toggle source
# File lib/delayed/worker.rb, line 44
def say(text)
  puts text unless @quiet
  logger.info text if logger
end
start() click to toggle source
# File lib/delayed/worker.rb, line 14
def start
  say "*** Starting job worker #{Delayed::Job.worker_name}"

  trap('TERM') { say 'Exiting...'; $exit = true }
  trap('INT')  { say 'Exiting...'; $exit = true }

  loop do
    result = nil

    realtime = Benchmark.realtime do
      result = Delayed::Job.work_off
    end

    count = result.sum

    break if $exit

    if count.zero?
      sleep(SLEEP)
    else
      say "#{count} jobs processed at %.4f j/s, %d failed ..." % [count / realtime, result.last]
    end

    break if $exit
  end

ensure
  Delayed::Job.clear_locks!
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.