Python 重新启动瓶子应用程序(以编程方式)

Python 重新启动瓶子应用程序(以编程方式),python,database-connection,bottle,restart,peewee,Python,Database Connection,Bottle,Restart,Peewee,如何以编程方式重新启动瓶子应用程序 def error_handler(error): if error.message == "connection already closed": RESTART_BOTTLE_SERVER() # This will reacquire connection 我建议您将瓶子服务器作为后台守护程序在操作系统上运行。您可以启动和停止服务器,然后使用简单的python代码终止线程。也许能帮你做这件事 from bottledaemon

如何以编程方式重新启动瓶子应用程序

def error_handler(error):
    if error.message == "connection already closed":
        RESTART_BOTTLE_SERVER()  # This will reacquire connection

我建议您将瓶子服务器作为后台守护程序在操作系统上运行。您可以启动和停止服务器,然后使用简单的python代码终止线程。也许能帮你做这件事

from bottledaemon import daemon_run
from bottle import route

@route("/hello")
def hello():
  return "Hello World"

if __name__ == "__main__":
  daemon_run()
上述应用程序将在后台启动。此顶级脚本可用于轻松启动/停止后台进程:

jonathans-air:bottle-daemon jhood$ python bottledaemon/bottledaemon.py
usage: bottledaemon.py [-h] {start,stop}

现在,您可以使用bottledaemon.py启动、停止或重新启动应用程序,并从主python文件调用它。

您可以使用中描述的方法停止bottle应用程序(线程)。

快速查看之后-可能您只需要使用线程?(可能我弄错了,很抱歉脱离主题)我的重新启动您想做什么转到起始页或刷新页面或从头开始它取决于您正在使用的服务器,而不是瓶子本身。但我怀疑你可能还没有完全考虑清楚。例如:导致错误的请求发生了什么;它还在处理中。瓶子正在处理的所有其他请求会发生什么?你可以使用这个答案中的方法停止瓶子框架,嗯,这可能是我正在寻找的解决方案。把它写进一个答案?是的,我倾向于使用init系统(systemd、upstart或常规init脚本)来保持它始终运行。