2009-10-22 58 views
6

我想在Rails關閉時運行一些清理代碼 - 這可能嗎?我的情況是我在後臺有幾條線程(我正在使用jruby並調用java),這個線程在生命週期中一直存在,我需要讓他們知道關閉自己。Rails的關閉鉤

謝謝!

回答

14

也許應該只使用Ruby的退出處理,這是一個核心的方法:

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

真棒,謝謝! – Stuart 2009-10-23 00:48:12

+0

你會在哪裏放這個代碼? – 2009-10-23 02:06:50

+0

只要JRuby本身具有與底層應用程序服務器相對應的生命週期,那麼您可以將其放置在至少運行一次的任何位置。一個好的地方就是在任何一段Ruby代碼首先從這些後臺線程中註銷退出處理程序。 – DigitalRoss 2009-10-23 02:12:44