2009-10-13 8 views
5

En utilisant les démons, comment est-ce que je spécifie que le journal de mon script entre/log/et son pid va dans/tmp/pids /? J'ai lu les docs, et je vois: dir /: dir_mode, mais je ne peux que faire l'un ou l'autre, pas les deux - semble être un très mauvais ensemble d'options si vous me demandez.Comment spécifier les répertoires log et pid du démon?

Répondre

3

Il ne ressemble pas à la vanille Daemons peut faire ce que vous voulez, mais c'est réparable. Essayez quelque chose comme ceci:

require 'rubygems' 
require 'daemons' 

module Daemons 
    class Application 
    def logfile;  '/log/f1'; end 
    def output_logfile; '/log/f2'; end 
    end 
end 

Daemons.run '/tmp/test.rb', 
    :dir  => '/tmp/pids', 
    :dir_mode => :normal, 
    :ontop  => false, 
    :log_output => true 

Vous voulez sans doute la logique de * logfile d'agir plus comme les originaux; il suffit d'analyser la source des démons pour def.logfile. J'aurais aussi plutôt patché une sous-classe de Application mais elle est instanciée par son nom ailleurs dans le module Daemons, ce qui rend les choses difficiles.

Questions connexes