在前后端开发联调前 的提交20260223

This commit is contained in:
Neo
2026-02-23 23:02:20 +08:00
parent 254ccb1e77
commit fafc95e64c
1142 changed files with 10366960 additions and 36957 deletions

View File

@@ -0,0 +1,61 @@
# -*- coding: utf-8 -*-
"""详细分析 v8 日志,提取所有任务状态。"""
import json
import re
from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path(__file__).resolve().parents[2] / ".env")
from _env_paths import get_output_path
log_dir = get_output_path("SYSTEM_LOG_ROOT")
raw = json.loads((log_dir / "2026-02-21__etl_run_raw_v8.json").read_text("utf-8"))
error_log = raw.get("error_log", "")
output_log = raw.get("output_log", "")
full = output_log + "\n" + error_log
# 更宽泛的匹配
success_pat = re.compile(r"任务\s+(\S+)\s+执行成功")
fail_pat = re.compile(r"任务\s+(\S+)\s+失败")
complete_pat = re.compile(r"(\S+)\s*(?:完成|成功|✅)")
# 查找所有提到的任务
task_pat = re.compile(r"(ODS_FETCH|DWD_LOAD_FROM_ODS|DWS_\w+)")
all_tasks = set(task_pat.findall(full))
print("=== 日志中出现的所有任务 ===")
for t in sorted(all_tasks):
print(f" {t}")
print(f"\n=== 成功匹配 ===")
for m in success_pat.finditer(full):
print(f"{m.group(1)}")
print(f"\n=== 失败匹配 ===")
for m in fail_pat.finditer(full):
print(f"{m.group(1)}")
# 查找 DWD 装载详情
dwd_pat = re.compile(r"DWD 装载(成功|失败)(\S+?),用时 ([\d.]+)s(?:err=(.*))?")
print(f"\n=== DWD 装载详情 ===")
dwd_success = 0
dwd_fail = 0
for m in dwd_pat.finditer(full):
status, table, dur, err = m.groups()
icon = "" if status == "成功" else ""
if status == "成功":
dwd_success += 1
else:
dwd_fail += 1
line = f" {icon} {table} ({dur}s)"
if err:
line += f"{err[:80]}"
print(line)
print(f" 合计: {dwd_success} 成功, {dwd_fail} 失败")
# 查找 year -1 相关上下文
print(f"\n=== 'year -1' 相关行 ===")
for line in full.split("\n"):
if "year" in line.lower() and ("-1" in line or "out of range" in line):
print(f" {line.strip()[:200]}")