2013-03-03 163 views
1

目前我在程序中編程生成HTTP服務器。如何關閉ruby瘦服務器HTTP保持活動狀態?

srv = Thin::Server.start('0.0.0.0', 3000, app) 

而我不知道應該在哪裏看到更改保持活動時間設置。因爲瘦服務器不會立即死亡,所以在調試和開發應用程序時會困擾我。我會打開生產的保持生命,但我仍然想控制持續時間。

回答

0
#  Thin::Server.stop! doesn't work immediately if there's live keep-alive connection. 
    #  SIGINT doesn't work. 
    #  Only SIGKILL works. 
    #  But `abort` is a lot quicker way. 
    #  Overridden to abort. 

    trap("INT") { puts " Force quit by raising intentional crash!" ;abort() } 
1

如果你希望它不要等待掛起的請求送達,則只需撥打stop!

if RAKE_ENV=='production' 
    srv.stop 
else 
    srv.stop! 
end 

Thin source

+0

即使''srv.stop不會使應用程序!馬上趕到。 – Eonil 2013-03-03 16:54:39

+1

那麼如果你正在運行一些Unix衍生工具或Linux,我可以向你建議一個SIGKILL嗎? '''kill -9#{Process.pid}'' – forker 2013-03-03 17:07:21

+0

謝謝。它應該工作,但無論如何,我找到更好的解決方案。 – Eonil 2013-03-03 17:17:20

相關問題