优化停止任务逻辑

This commit is contained in:
2025-09-18 20:09:52 +08:00
parent 9250be8780
commit c54a0aceb5
24 changed files with 87 additions and 165 deletions

View File

@@ -28,43 +28,6 @@ def _force_utf8_everywhere():
# _force_utf8_everywhere()
# ========= 全局:强制 UTF-8 + 关闭缓冲(运行期立刻生效) =========
def _force_utf8_everywhere():
os.environ.setdefault("PYTHONUTF8", "1")
# 等价于 -u让 stdout/stderr 无缓冲
os.environ.setdefault("PYTHONUNBUFFERED", "1")
os.environ.setdefault("PYTHONIOENCODING", "utf-8")
# 若是 3.7+,优先用 reconfigure 实时改流
try:
if hasattr(sys.stdout, "reconfigure"):
sys.stdout.reconfigure(encoding="utf-8", errors="replace",
line_buffering=True, write_through=True)
elif getattr(sys.stdout, "buffer", None):
# 退路:重新包一层,启用行缓冲 + 直写
sys.stdout = io.TextIOWrapper(
sys.stdout.buffer, encoding="utf-8",
errors="replace", line_buffering=True
)
except Exception:
pass
try:
if hasattr(sys.stderr, "reconfigure"):
sys.stderr.reconfigure(encoding="utf-8", errors="replace",
line_buffering=True, write_through=True)
elif getattr(sys.stderr, "buffer", None):
sys.stderr = io.TextIOWrapper(
sys.stderr.buffer, encoding="utf-8",
errors="replace", line_buffering=True
)
except Exception:
pass
# ===========================================================
class LogManager:
"""
设备级与“设备+方法”级日志管理: