[英]How to shutdown Perl dancer applications nicely
我在FCGI模式(Apache)中使用相同的用戶同時運行多個Perl舞者應用程序。 據我所知,如果當前的應用程序繁忙,Apache(或任何其他網絡服務器)將分叉一個新的舞者應用程序。
為了確保沒有游客由舞蹈家關機我喜歡讓舞者處理當前的連接,直到它完成,然后中斷exit
/ last
的過程。
如何使用kill信號HUP
關閉Perl舞者應用程序以實現這樣的良好關閉?
要推出新版本的舞者應用程序,我使用pkill -HUP perl
作為舞者用戶來“關閉”進程。 但是目前(由於缺少信號處理程序),它更像是在關閉應用程序時 向下發射 。
mugen kenichi的解決方案 ( starman
):
如果您能夠更改基礎架構,可以嘗試一種支持您需求的plack Web服務器。 starman和hyponotoad都在SIGHUP上進行了優雅的重啟
關於<% request.uri_base %>
存在一些缺點,因此我們必須使用硬編碼的URI路徑進行開發。 不是很帥但很有必要。
如果我正確地閱讀了您的問題,您會擔心Apache / FCGI在處理請求時可能會殺死Dancer應用程序。 那是對的嗎?
如果是這樣,請不要擔心。 Apache / FCGI不這樣做。 當它分叉處理程序的新實例因為現有的處理程序繁忙時, 除了現有實例之外 ,這是一個新實例。 現有的只留下來完成他們正在做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.