2009-10-22 11 views
6

Me gustaría que se ejecute algún código de limpieza cuando Rails se cierre, ¿es posible? Mi situación es que tengo algunos hilos en el fondo (estoy usando jruby y llamando a Java) que viven durante la vida del proceso y necesito que sepan que se cierren.Gancho de cierre para rieles

¡Gracias!

Respuesta

14

probablemente debería sólo tiene que utilizar el controlador de salida de Ruby, que es un método Kernel:

$ irb 
>> at_exit do 
?> puts 'bye...' 
>> end 
=> #<Proc:[email protected](irb):1> 
>> exit 
bye... 
$ 
+0

impresionante, gracias! – Stuart

+0

¿Dónde pondrías este código? –

+0

Siempre que JRuby tenga un ciclo de vida correspondiente al servidor de aplicaciones subyacente, puede colocarlo en cualquier lugar donde se ejecutará al menos una vez. Un buen lugar sería registrar el manejador de salida en cualquier pieza de código de Ruby disparando esos hilos de fondo en primer lugar. – DigitalRoss

Cuestiones relacionadas