Skip to content

Instantly share code, notes, and snippets.

@seamusabshere
Created February 18, 2011 15:38
Show Gist options
  • Save seamusabshere/833828 to your computer and use it in GitHub Desktop.
Save seamusabshere/833828 to your computer and use it in GitHub Desktop.
how we hacked DelayedJob 2.0.3 logs in Rails 3
#!/usr/bin/env ruby
PRESUMPTIVE_RAILS_ROOT = "/data/[APP_NAME]/current"
LOG_PATH = "/data/[APP_NAME]/shared/log/delayed_job_singleton.log"
Dir.chdir PRESUMPTIVE_RAILS_ROOT
require 'home_run'
require "rubygems"
require "bundler/setup"
require 'daemon_spawn'
class DelayedJobSingleton < DaemonSpawn::Base
def start(args)
require "/data/[APP_NAME]/current/config/environment.rb"
f = open LOG_PATH, (File::WRONLY | File::APPEND | File::CREAT)
f.sync = true
RAILS_DEFAULT_LOGGER.auto_flushing = true
RAILS_DEFAULT_LOGGER.instance_variable_set(:@log, f)
Delayed::Worker.logger = RAILS_DEFAULT_LOGGER
Delayed::Worker.new(:quiet => true).start
end
def stop
end
end
DelayedJobSingleton.spawn!(:log_file => LOG_PATH,
:pid_file => "/data/[APP_NAME]/shared/pids/delayed_job_singleton.pid",
:sync_log => true,
:working_dir => PRESUMPTIVE_RAILS_ROOT,
:singleton => true,
:timeout => 90,
:signal => 'INT')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment