Skip to content

Commit

Permalink
Rework script/delayed_job so it can be used as a plugin or a gem. Closes
Browse files Browse the repository at this point in the history
  • Loading branch information
bkeepers committed Sep 6, 2009
1 parent d58a26d commit 4d76b8d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 12 deletions.
6 changes: 2 additions & 4 deletions generators/delayed_job/templates/script
@@ -1,7 +1,5 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby


# Daemons sets pwd to /, so we have to explicitly set RAILS_ROOT require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
RAILS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..')) require 'delayed/command'

require File.join(File.dirname(__FILE__), *%w(.. vendor plugins delayed_job lib delayed command))
Delayed::Command.new(ARGV).daemonize Delayed::Command.new(ARGV).daemonize
15 changes: 7 additions & 8 deletions lib/delayed/command.rb
@@ -1,4 +1,3 @@
require 'rubygems'
require 'daemons' require 'daemons'
require 'optparse' require 'optparse'


Expand Down Expand Up @@ -44,14 +43,14 @@ def daemonize


def run(worker_name = nil) def run(worker_name = nil)
Dir.chdir(RAILS_ROOT) Dir.chdir(RAILS_ROOT)
require File.join(RAILS_ROOT, 'config', 'environment')


# Replace the default logger # Replace the default logger…too bad Rails doesn't make this easier
logger = Logger.new(File.join(RAILS_ROOT, 'log', 'delayed_job.log')) Rails.logger.instance_eval do
logger.level = ActiveRecord::Base.logger.level @log.reopen File.join(RAILS_ROOT, 'log', 'delayed_job.log')
ActiveRecord::Base.logger = logger end
ActiveRecord::Base.clear_active_connections! Delayed::Worker.logger = Rails.logger
Delayed::Worker.logger = logger ActiveRecord::Base.connection.reconnect!

Delayed::Job.worker_name = "#{worker_name} #{Delayed::Job.worker_name}" Delayed::Job.worker_name = "#{worker_name} #{Delayed::Job.worker_name}"


Delayed::Worker.new(@options).start Delayed::Worker.new(@options).start
Expand Down

0 comments on commit 4d76b8d

Please sign in to comment.