2012-11-06 51 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