2009-09-29 108 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 –