2012-06-19 16 views

risposta

8

Guarda Kernel#at_exit, non vedo perché non dovrebbe funzionare in un'app Sinatra se si definisce un blocco del genere da qualche parte nel file principale dell'app.

Aggiornamento: Secondo il commento di Matt, è necessario definire il gestore at_exit prima di richiedere Sinatra.

+0

Ho avuto l'impressione che venga chiamato solo una volta che tutti i thread sono usciti. Vado a provarlo anch'io. Una delle cose specifiche che devo fare è chiudere alcuni thread, quindi se questo è il caso, non funzionerà per me. – pquimo

+0

Questo potrebbe non funzionare, a seconda di come si avvia Sinatra, poiché [Sinatra utilizza 'at_exit' stesso] (https://github.com/sinatra/sinatra/blob/v1.3.2/lib/sinatra/main.rb#L25) per avviare il suo server integrato, quindi qualsiasi gestore 'at_exit' che aggiungi verrà effettivamente eseguito _prima_ Sinatra si avvia. – matt

+0

Interessante. Mi chiedo se dovrei cancellare la mia risposta o tenerla per il momento. Forse aspetterò fino a quando @pquimo farà rapporto. –

Problemi correlati