fix(HEL-386): 清理任务按 ISO 截止时间删除 job_runs/src_calls
YYYYMMDD 与 ISO 字符串比较会把同年保留期内记录全部误删。 Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
Cursor
multica-agent
parent
3498dd7a4b
commit
031eefab4d
@@ -3,6 +3,7 @@ from __future__ import annotations
|
||||
import json
|
||||
import time
|
||||
from collections.abc import Callable
|
||||
from datetime import timedelta
|
||||
from typing import Any
|
||||
|
||||
from datahub.adapters.base import AdapterError
|
||||
@@ -342,8 +343,9 @@ class Pipeline:
|
||||
def cleanup(self) -> dict[str, int]:
|
||||
staging_days = int(self.settings.quality.get("staging_retain_days") or 14)
|
||||
job_days = int(self.settings.quality.get("job_run_retain_days") or 90)
|
||||
cutoff_staging = add_days(yyyymmdd(self.clock()), -staging_days)
|
||||
cutoff_jobs = add_days(yyyymmdd(self.clock()), -job_days)
|
||||
now = now_shanghai(self.clock())
|
||||
cutoff_staging = add_days(yyyymmdd(now), -staging_days)
|
||||
cutoff_jobs = isoformat(now - timedelta(days=job_days))
|
||||
deleted = 0
|
||||
with self.db.write() as connection:
|
||||
for dataset, (_eod, staging) in DATASET_TABLES.items():
|
||||
|
||||
Reference in New Issue
Block a user