修改停止线程的bug
This commit is contained in:
@@ -233,8 +233,14 @@ def start_socket_listener():
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
# 独立线程启动 Socket 服务 + 看门狗
|
# 独立线程启动 Socket 服务 + 看门狗
|
||||||
listener_thread = threading.Thread(target=start_socket_listener, daemon=True)
|
def bootstrap_server_side_effects():
|
||||||
listener_thread.start()
|
# 仅在真正的 Flask 进程里启动副作用(监听、定时器、MQ 等)
|
||||||
|
listener_thread = threading.Thread(target=start_socket_listener, daemon=True)
|
||||||
|
listener_thread.start()
|
||||||
|
|
||||||
|
# 获取app
|
||||||
|
def get_app():
|
||||||
|
return app
|
||||||
|
|
||||||
# ============ API 路由 ============
|
# ============ API 路由 ============
|
||||||
@app.route('/deviceList', methods=['GET'])
|
@app.route('/deviceList', methods=['GET'])
|
||||||
@@ -836,5 +842,5 @@ def restartTikTok():
|
|||||||
return ResultData(data="").toJson()
|
return ResultData(data="").toJson()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# 注意:这里建议 debug=False,避免未来有人改成 use_reloader=True 导致多进程
|
# 只有“明确是 Flask 进程”才跑副作用(通过 APP_ROLE 控制)
|
||||||
app.run("0.0.0.0", port=5000, debug=False, use_reloader=False, threaded=True)
|
app.run("0.0.0.0", port=5000, debug=False, use_reloader=False, threaded=True)
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from Utils.LogManager import LogManager
|
from Utils.LogManager import LogManager
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
@@ -30,11 +29,11 @@ LOG_DIR.mkdir(exist_ok=True) # 确保 log 目录存在
|
|||||||
print(f"日志目录: {LOG_DIR}")
|
print(f"日志目录: {LOG_DIR}")
|
||||||
|
|
||||||
def _run_flask_role():
|
def _run_flask_role():
|
||||||
from Module import FlaskService
|
from Module.FlaskService import get_app, bootstrap_server_side_effects
|
||||||
print("Flask Pid:", os.getpid())
|
print("Flask Pid:", os.getpid())
|
||||||
port = int(os.getenv("FLASK_COMM_PORT", "34566")) # 固定端口的兜底仍是 34567
|
port = int(os.getenv("FLASK_COMM_PORT", "34566")) # 固定端口的兜底仍是 34567
|
||||||
app_factory = getattr(FlaskService, "create_app", None)
|
app = get_app()
|
||||||
app = app_factory() if callable(app_factory) else FlaskService.app
|
bootstrap_server_side_effects()
|
||||||
app.run(host="0.0.0.0", port=port + 1, debug=False, use_reloader=False, threaded=False)
|
app.run(host="0.0.0.0", port=port + 1, debug=False, use_reloader=False, threaded=False)
|
||||||
|
|
||||||
if "--role=flask" in sys.argv:
|
if "--role=flask" in sys.argv:
|
||||||
@@ -92,3 +91,4 @@ if __name__ == "__main__":
|
|||||||
finally:
|
finally:
|
||||||
# 进程退出前记得把子进程关掉
|
# 进程退出前记得把子进程关掉
|
||||||
manager.stop()
|
manager.stop()
|
||||||
|
|
||||||
|
|||||||
@@ -453,6 +453,8 @@ class ScriptManager():
|
|||||||
# 设置查找深度
|
# 设置查找深度
|
||||||
session.appium_settings({"snapshotMaxDepth": 15})
|
session.appium_settings({"snapshotMaxDepth": 15})
|
||||||
|
|
||||||
|
session.appium_settings({"waitForQuiescence": False})
|
||||||
|
|
||||||
# 创建udid名称的目录
|
# 创建udid名称的目录
|
||||||
AiUtils.makeUdidDir(udid)
|
AiUtils.makeUdidDir(udid)
|
||||||
|
|
||||||
@@ -472,6 +474,7 @@ class ScriptManager():
|
|||||||
# 循环条件。1、 循环关闭 2、 数据处理完毕
|
# 循环条件。1、 循环关闭 2、 数据处理完毕
|
||||||
while not event.is_set():
|
while not event.is_set():
|
||||||
print(f"关注打招呼开始循环,设备是:{udid}")
|
print(f"关注打招呼开始循环,设备是:{udid}")
|
||||||
|
session.appium_settings({"waitForQuiescence": False})
|
||||||
|
|
||||||
LogManager.method_info("=== 外层 while 新一轮 ===", "关注打招呼", udid)
|
LogManager.method_info("=== 外层 while 新一轮 ===", "关注打招呼", udid)
|
||||||
if event.is_set():
|
if event.is_set():
|
||||||
@@ -1626,7 +1629,6 @@ class ScriptManager():
|
|||||||
user_text = None
|
user_text = None
|
||||||
info_count += 1
|
info_count += 1
|
||||||
|
|
||||||
print("当前页面的节点", session.source())
|
|
||||||
|
|
||||||
if user_text:
|
if user_text:
|
||||||
print("点击进入用户主页")
|
print("点击进入用户主页")
|
||||||
|
|||||||
Reference in New Issue
Block a user