2012-11-06 2 views
2

Est-ce que quelqu'un sait comment configurer delayed_jobs pour placer le fichier pid dans un autre dossier? Je vois le pid_dir comme une option, mais je ne sais pas comment inclure l'option dans un initialiseur ou dans le script/delayed_job.delayed_job emplacement du fichier pid

Répondre

5

D'accord, ce n'est pas joli, mais c'est une solution. J'ai modifié le script delayed_job de sorte que, peu importe comment il est appelé (ligne de commande, capistrano, etc), il utilisera toujours l'emplacement de pid que je spécifie.

Cette ligne ajoute que l'argument du script:

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

Pour le contexte, c'est l'intégralité du fichier script/de delayed_job modifié:

#!/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

Faut-il Rails.root au lieu RAILS_ROOT – kobaltz