如何在不使用ctrl-c的情况下停止flask应用

我想实现一个可以使用flask-script停止flask应用程序的命令。我已经搜索了一段时间。因为该框架不提供“ app.stop()” API,所以我对如何编写此代码感到好奇。我正在使用Ubuntu 12.10和Python 2.7.3。

回答:

如果仅在桌面上运行服务器,则可以公开终结点以终止服务器:

from flask import request

def shutdown_server():

func = request.environ.get('werkzeug.server.shutdown')

if func is None:

raise RuntimeError('Not running with the Werkzeug Server')

func()

@app.route('/shutdown', methods=['POST'])

def shutdown():

shutdown_server()

return 'Server shutting down...'

这是另一种包含更多的方法:

from multiprocessing import Process

server = Process(target=app.run)

server.start()

# ...

server.terminate()

server.join()

让我知道是否有帮助。

以上是 如何在不使用ctrl-c的情况下停止flask应用 的全部内容, 来源链接: utcz.com/qa/435993.html

回到顶部