重启 Bottle 应用程序(以编程方式)
Restart Bottle app (programmatically)
如何以编程方式重新启动我的 Bottle 应用程序?
def error_handler(error):
if error.message == "connection already closed":
RESTART_BOTTLE_SERVER() # This will reacquire connection
我建议您 运行 您的 Bottle 服务器作为 OS 后台的守护进程。您可以启动和停止服务器并使用简单的 python 代码来终止线程。 BottleDaemon 可能会为您完成这项工作。
from bottledaemon import daemon_run
from bottle import route
@route("/hello")
def hello():
return "Hello World"
if __name__ == "__main__":
daemon_run()
以上应用程序将在后台启动。这个顶级脚本可以很容易地用于start/stop后台进程:
jonathans-air:bottle-daemon jhood$ python bottledaemon/bottledaemon.py
usage: bottledaemon.py [-h] {start,stop}
现在您可以使用 bottledaemon.py 来启动或停止或重新启动您的应用程序,并从您的主 python 文件中调用它。
您可以使用this answer中描述的方法停止瓶子应用程序(线程)。
如何以编程方式重新启动我的 Bottle 应用程序?
def error_handler(error):
if error.message == "connection already closed":
RESTART_BOTTLE_SERVER() # This will reacquire connection
我建议您 运行 您的 Bottle 服务器作为 OS 后台的守护进程。您可以启动和停止服务器并使用简单的 python 代码来终止线程。 BottleDaemon 可能会为您完成这项工作。
from bottledaemon import daemon_run
from bottle import route
@route("/hello")
def hello():
return "Hello World"
if __name__ == "__main__":
daemon_run()
以上应用程序将在后台启动。这个顶级脚本可以很容易地用于start/stop后台进程:
jonathans-air:bottle-daemon jhood$ python bottledaemon/bottledaemon.py
usage: bottledaemon.py [-h] {start,stop}
现在您可以使用 bottledaemon.py 来启动或停止或重新启动您的应用程序,并从您的主 python 文件中调用它。
您可以使用this answer中描述的方法停止瓶子应用程序(线程)。