2

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

4

1 回答 1

5

好的,它并不漂亮,但这是一种解决方案。我修改了delayed_job 脚本,这样无论它如何被调用(命令行、capistrano 等),它都将始终使用我指定的pid 位置。

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

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

对于上下文,这是整个修改后的 script/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
于 2012-11-06T20:44:29.347 回答