2012-02-22 38 views
0

嗨,有沒有一種方式正常關閉瓶服務器。在某種程度上它應該能夠在最終停止之前做幾個步驟。這對於一些清理線程和db狀態等非常重要,以避免在重啓過程中出現錯誤狀態。Gracefull關閉瓶子python服務器

我正在使用mod wsgi apache模塊來運行瓶服務器。

回答

1

在mod_wsgi中,您可以註冊atexit回調函數,並在正常的進程關閉時調用它們。儘管如此,你並沒有太長的時間去做。如果嵌入式模式或Apache重啓導致的守護進程模式和關閉,您只有3秒鐘的時間,因爲Apache將在此之後強制終止進程。如果守護進程模式和觸發器是由於觸摸WSGI腳本文件引起的,或者您明確地發送了守護進程信號,那麼您有5秒鐘的時間,這是mod_wsgi決定花費太長時間並強行終止它們的時間。

請參閱Python中的'atexit'模塊。