2012-06-19 15 views

Respuesta

8

Mire Kernel#at_exit, no veo por qué no debería funcionar en una aplicación Sinatra si define un bloque como ese en algún lugar del archivo de la aplicación principal.

Actualización: Según el comentario de matt, debe definir su controlador at_exit antes de requerir Sinatra.

+0

Tenía la impresión de que solo se llama una vez que todos los hilos han salido. Voy a probarlo yo mismo. Una de las cosas específicas que debo hacer es cerrar algunos hilos, así que si ese es el caso, eso no funcionará para mí. – pquimo

+0

Esto podría no funcionar, dependiendo de cómo inicie Sinatra, ya que [Sinatra usa 'at_exit' en sí mismo] (https://github.com/sinatra/sinatra/blob/v1.3.2/lib/sinatra/main.rb#L25) para iniciar su servidor integrado, por lo que cualquier manejador 'at_exit' que agregue se ejecutará _antes de que se inicie Sinatra. – matt

+0

Interesante. Me pregunto si debería eliminar mi respuesta o mantenerla por el momento. Tal vez esperaré hasta que @pquimo reporte de nuevo. –

Cuestiones relacionadas