Method: Delayed::Command#run

Defined in:
lib/delayed/command.rb

#run(worker_name = nil) ⇒ Object

[View source]

89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/delayed/command.rb', line 89

def run(worker_name = nil)
  Dir.chdir(RAILS_ROOT)
  
  # Re-open file handles
  @files_to_reopen.each do |file|
    begin
      file.reopen file.path, "a+"
      file.sync = true
    rescue ::Exception
    end
  end
  
  Delayed::Worker.logger = Logger.new(File.join(RAILS_ROOT, 'log', 'delayed_job.log'))
  Delayed::Worker.backend.after_fork
  
  worker = Delayed::Worker.new(@options)
  worker.name_prefix = "#{worker_name} "
  worker.start
rescue => e
  Rails.logger.fatal e
  STDERR.puts e.message
  exit 1
end