Detectar parada con gema Ruby Daemons
Pregunta
estoy usando el rubí demonio joya.¿Se pregunta cómo puedo agregar algunos pasos adicionales a la acción de parada?Esperaba poder detectar que se llamó a detener y agregarle algún código adicional.¿Alguien sabe cómo puedo lograr esto?
Solución
Mirando el código del demonio gema, que no parezca que tiene un punto de extensión obvia para este propósito. Sin embargo, me pregunto si (en el proceso endemoniada) que podría atrapar la señal KILL / plazo que demonios envía cuando se produce un 'stop' ...?
trap("TERM") do
# execute your extra code here
end
Si lo prefiere puede instalar un gancho at_exit: -
at_exit do
# execute your extra code here
end
Otros consejos
una muy buen artículo en su blog sobre una extensión de la gema los demonios que podría ser lo que estás buscando.
Después de leer documentos Dæmons he encontrado que hay una opción de :stop_proc
en el método #run
: stop_proc un proc que se llamará cuando el proceso endemoniada recibe una solicitud de detención (sólo funciona para: carga y: Modo proc)
Así que, básicamente, se puede pasar como una opción con el #run o #run_proc métodos