2013-03-03 109 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

相关问题