2012-11-06 19 views
2

有谁知道如何配置delayed_jobs将pid文件放在另一个文件夹中?我将pid_dir视为一个选项,但不确定如何将该选项包含在初始化程序中或脚本/ delayed_job中。delayed_job pid文件位置

回答

5

好吧,它不漂亮,但这是一个解决方案。我修改了delayed_job脚本,以便不管它如何被调用(命令行,capistrano等),它总是会使用我指定的pid位置。

此行只是增加了参数传递给脚本:

ARGV << "--pid-dir=#{RAILS_ROOT}/pids" 

对于背景下,这是整个修改后的脚本/ delayed_job的文件:

#!/usr/bin/env ruby 
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) 
require 'delayed/command' 

# Will always specify the pid directory 
ARGV << "--pid-dir=#{RAILS_ROOT}/pids" 

Delayed::Command.new(ARGV).daemonize 
+3

应改为RAILS_ROOT Rails.root – kobaltz