2012-03-12 40 views
4

我採取的燒瓶中的應用程序內的長期運行線程。在調試模式下,在激活重新加載器的情況下,長時間運行的線程在重新加載時不會被終止。瓶自動重載和長期運行線程

相反,因爲創建和啓動線程重裝後運行,每個週期創建一個額外的線程的代碼。

我怎樣才能避免這種情況,除了禁用reloader?

將在mod_wsgi的運行時,其自動重載功能相同的發生呢?

更新:長時間運行的線程實際上在重新加載時被Werkzeug殺死。有一個額外的副本,這是由於Werkzeug的重載程序採用運行初始化代碼的額外線程。

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

在長時間運行的請求的情況下,如果它不5秒過程將無論如何被強行殺死內完成,通過默認值:

回答

3

的mod_wsgi的重新加載所述。這是爲了避免進程鎖定問題,因爲請求無法完成。

+0

感謝。正如我在鏈接到的文檔中所看到的,在守護進程模式下,整個過程將重新啓動,以便我的線程將與它一起死掉。 – 2012-03-13 06:30:17

+0

是的,抱歉,忘記澄清5秒超時僅適用於守護進程模式。根據記錄,嵌入式模式重新加載有所不同。 – 2012-03-13 23:31:51

+0

至少在我的應用程序中,現有的線程不會被殺死,即使在5秒後也不會。也許這些年來事情發生了變化。 – 2015-04-21 14:28:42