防止Flask OSError:[Errno 98]地址已在使用中

问题描述

我有一个Flask应用程序,该应用程序通过腻子控制台调用,并在端口5000上运行。它只能临时运行,始终只有一个用户在使用该应用程序。有时,我会收到“地址已在使用中”错误,可以通过“ kill -9 PID”解决,其中PID是flask应用程序的ID。

是否存在通常导致此错误用户行为?到目前为止,对我来说,这似乎是随机的。另外,可以采取什么措施来防止此错误

现在,我用crtl + c或指向页面页面上的“退出”按钮关闭了应用程序:

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('/exit',methods=["POST","GET"])
def shutdown():
    if request.method == "POST":
        shutdown_server()
        return render_template('exit.html',app_data=app_data,)

“ exit.html”仅要求用户关闭窗口。 该按钮已经在尝试防止不正常的关机。

我还想到了端口的动态变化,但这将使通过腻子启动它变得困难。

我正在寻找一种直观的解决方案,以防止非编码器用户被迫杀死该进程。感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)