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?

È stato utile?

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

Link di risposta originale al RubyForge

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top