Как отключить cherrypy изнутри?
Вопрос
Я разрабатываю на cherrypy, я запускаю его из скрипта python.
Для лучшей разработки мне интересно, каков правильный способ остановить cherrypy изнутри основного процесса (а не извне с помощью ctrl-c или SIGTERM).
Я предполагаю, что мне нужно зарегистрировать функцию обратного вызова из основного приложения, чтобы иметь возможность остановить основной процесс cherrypy из рабочего потока.
Но как мне остановить основной процесс изнутри?
Решение
import sys
class MyCherryPyApplication(object):
def default(self):
sys.exit()
default.exposed = True
cherrypy.quickstart(MyCherryPyApplication())
Ввод sys.exit() в любой обработчик запроса завершает работу всего сервера
Я бы ожидал, что это завершает только текущий поток, но это завершает работу всего сервера.Это то, чего я хотел.
Не связан с StackOverflow