Sto usando il gioiello rubino daemon. Ti chiedo come posso aggiungere alcuni passaggi aggiuntivi per fermare l'azione? Speravo di poter rilevare l'arresto è stato chiamato, e aggiungere un po 'di codice in più ad esso. Qualcuno sa come posso fare questo?Rileva fermata con gemma Ruby Daemons
risposta
Guardando il codice della gemma daemon, non sembra che abbia un ovvio punto di estensione per questo scopo. Tuttavia, mi chiedo se (nel processo demonizzato) potresti intrappolare il segnale KILL/TERM che i demoni mandano quando si verifica un "arresto" ...?
trap("TERM") do
# execute your extra code here
end
In alternativa si potrebbe installare un gancio at_exit: -
at_exit do
# execute your extra code here
end
Rapleaf aveva a pretty good article on their blog su un'estensione alla gemma Demoni che potrebbe essere quello che stai cercando.
Dopo aver letto Demoni docs ho scoperto che c'è un'opzione :stop_proc
nel #run method
: stop_proc Un proc che verrà chiamato quando il processo daemonized riceve una richiesta di fermare (funziona solo per: carico e : modalità proc)
Quindi, in pratica è possibile passare come opzione con le #run o #run_proc metodi
at_exit ha funzionato bene, grazie mille. – gregf