有谁知道如何配置delayed_jobs将pid文件放在另一个文件夹中?我将pid_dir视为一个选项,但不确定如何在初始化程序中或脚本/ delayed_job中包含该选项。
答案 0 :(得分: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