delayed_job pid文件位置

Tom*_*ssi 2 ruby-on-rails delayed-job ruby-on-rails-3

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

Tom*_*ssi 5

好吧,它不漂亮,但这是一个解决方案.我修改了delayed_job的脚本,不管它怎么叫(命令行,Capistrano的,等等),它会一直使用我指定PID的位置.

这一行只是将参数添加到脚本中:

ARGV << "--pid-dir=#{RAILS_ROOT}/pids"
Run Code Online (Sandbox Code Playgroud)

对于上下文,这是整个修改过的脚本/ 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
Run Code Online (Sandbox Code Playgroud)

  • 应该是Rails.root而不是RAILS_ROOT (3认同)