2009-09-29 68 views
0

我正在Cherrypy上開發,我從一個python腳本開始。如何從內部關閉cherrypy?

爲了更好的開發,我想知道什麼是停止在主進程內(而不是從外部使用ctrl-c或SIGTERM)cherrypy的正確方法。

我假設我必須在主應用程序中註冊一個回調函數,以便能夠從工作線程停止cherrypy主進程。

但我該如何停止內部的主流程?

回答

5
import sys 
class MyCherryPyApplication(object): 

    def default(self): 
    sys.exit() 
    default.exposed = True 

cherrypy.quickstart(MyCherryPyApplication()) 

在任何請求處理程序把一個sys.exit()退出整個服務器

我本來期望這只是終止當前線程,但它會終止整個服務器。這就是我想要的。

+2

更溫和的方法在http://stackoverflow.com/questions/2125175/stopping-a-cherrypy-server-over-http/2130438#2130438 –