Rileva fermata con Ruby Daemons gemma
Domanda
Sto usando il rubino demone gioiello. Chiedendosi come posso aggiungere alcune misure supplementari per l'azione di arresto? Speravo ho potuto rilevare arresto è stato chiamato, e aggiungere del codice in più per esso. Qualcuno sa come posso fare questo?
Soluzione
Guardando il codice daemon gemma, non sembra come esso ha un punto di estensione ovvia per questo scopo. Tuttavia, mi chiedo se (nel processo daemonized) si potrebbe intrappolare il / segnale TERM KILL che demoni invia quando si verifica un 'stop' ...?
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
Altri suggerimenti
una bella buon articolo sul loro 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 metodo #run
: 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 la #run o #run_proc metodi