我使用CherryPy为DJANGO应用程序提供服务。在启动服务器的代码下方:
log_info("Starting main server")
cherrypy.config.update({
'server.socket_host': self.host,
'server.socket_port': self.port,
'engine.autoreload_on': False,
'log.screen': True
})
self.mount_static(settings.STATIC_URL, settings.STATICFILES_DIRS[0])
cherrypy.log("Loading and serving Django application")
cherrypy.tree.graft(WSGIHandler())
cherrypy.engine.start()
log_info("Main server is running at http://%s:%d" % (self.host, self.port))
#self.open_browser()
if block:
cherrypy.engine.block()
log_info("Main server shutdown!")
当我从代码中调用cherrypy.engine.restart()时,服务器会很好地重新启动。如果我在PyCharm调试器中运行时做同样的事情,则报告(重新)启动时会报告KeyboardException。这会导致整个应用程序停止。这必须与PyCharm调试器(在OS X上运行)有关,但我无法弄清楚它可能是什么。
在调试中运行时,任何帮助使这项工作都非常受欢迎。
感谢。