抓取生产工单,抓取发料异常

This commit is contained in:
hjq
2026-06-12 16:13:39 +08:00
parent dbb4c891f3
commit cb5baf809e

View File

@@ -1217,15 +1217,13 @@ def find_free_port(start_port=5050, max_port=5100):
return s.getsockname()[1]
if __name__ == '__main__':
# 智能判断:如果是通过 PyInstaller 打包运行的,或者是 Werkzeug 重载进程,则控制浏览器打开行为
is_frozen = getattr(sys, 'frozen', False)
# 当 Werkzeug (Flask内置服务器) 使用热加载时,它会启动一个监控主进程和一个运行子进程。
# 子进程会有 WERKZEUG_RUN_MAIN 这个环境变量。
is_werkzeug_reloader = os.environ.get('WERKZEUG_RUN_MAIN') == 'true'
# 这里是专门给开发环境python app.py使用的
# 生产环境 Gunicorn 不会执行这部分代码,而是直接导入 app 变量
# 只有在不需要热加载,或者是热加载的真正工作子进程中,才去寻找端口并打开浏览器
if is_frozen or not app.debug or is_werkzeug_reloader:
# 动态获取一个可用端口
# 检测是否是通过 PyInstaller 打包运行
is_frozen = getattr(sys, 'frozen', False)
if os.environ.get('WERKZEUG_RUN_MAIN') != 'true':
try:
port = find_free_port()
except Exception as e:
@@ -1236,16 +1234,13 @@ if __name__ == '__main__':
threading.Thread(target=open_browser, args=(port,), daemon=True).start()
print("🚀 前端展示后端服务已启动!")
print(f"👉 本机访问地址: http://127.0.0.1:{port}")
print(f"👉 局域网访问地址: http://192.168.7.198:{port} (允许手机/其他电脑访问)")
else:
# 如果是热加载的主控进程,随便给个默认端口(反正它不干活),并且不打开浏览器
port = 5050
# 更改为动态端口,避开被占用的端口。修改 host 为 0.0.0.0 允许局域网访问
app.run(
debug=not is_frozen,
host='0.0.0.0',
port=port,
threaded=True,
use_reloader=False # 彻底关闭 Flask 内置的热加载,避免双进程互相影响
use_reloader=False
)