Skip to content

Commit 31f6a97

Browse files
author
zhangtao
committed
fix: 调度自愈刷新后再做不可调度告警
1 parent 9e631b1 commit 31f6a97

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

‎backend/app/core/ap_scheduler.py‎

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -257,16 +257,6 @@ async def reconcile_node_jobs(cls) -> None:
257257
continue
258258
want_ids.add(str(node.id))
259259

260-
# 可观测性(t15):把"已启用但当前不会执行"的节点与存量 job 显式打出来,
261-
# 否则开关调整后只会表现为"任务不动了",运维无从定位
262-
for node in nodes:
263-
if node.status != 0 or not node.trigger:
264-
continue
265-
schedulable, reason = cls.describe_schedulability(node.func)
266-
if not schedulable:
267-
logger.warning(f"节点任务不可调度(已启用但不会执行): id={node.id} name={node.name!r} 原因={reason}")
268-
cls.log_unschedulable_jobs(context="启动自愈")
269-
270260
for job_id in existing:
271261
if job_id.isdigit() and job_id not in want_ids:
272262
try:
@@ -286,6 +276,15 @@ async def reconcile_node_jobs(cls) -> None:
286276
logger.info(f"节点任务自愈: 已恢复/刷新节点 {node.id} 的定时任务")
287277
except Exception as e:
288278
logger.error(f"节点任务自愈: 恢复节点 {node.id} 失败: {e!s}", exc_info=True)
279+
280+
# 刷新完成后再做可观测性判定,避免把旧 job 的 args 误报成数据库配置错误。
281+
for node in nodes:
282+
if node.status != 0 or not node.trigger:
283+
continue
284+
schedulable, reason = cls.describe_schedulability(node.func)
285+
if not schedulable:
286+
logger.warning(f"节点任务不可调度(已启用但不会执行): id={node.id} name={node.name!r} 原因={reason}")
287+
cls.log_unschedulable_jobs(context="启动自愈")
289288
except Exception as e:
290289
logger.error(f"节点任务自愈执行失败: {e!s}", exc_info=True)
291290

0 commit comments

Comments
 (0)