Skip to content

Commit 2539063

Browse files
committed
fix(增量分析): 增量分析任务的生命周期检查,与定时分析保持一致
1 parent a814c09 commit 2539063

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/infrastructure/scheduler/auto_scheduler.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,9 @@ async def throttled_analysis(gid, pid):
375375

376376
analysis_tasks = []
377377
for gid, pid in target_list:
378+
if self._terminating:
379+
logger.info("检测到插件正在停止,取消后续分析任务创建")
380+
break
378381
task = asyncio.create_task(
379382
throttled_analysis(gid, pid),
380383
name=f"analysis_group_{gid}",
@@ -535,6 +538,9 @@ async def staggered_incremental(idx, gid, pid):
535538

536539
analysis_tasks = []
537540
for idx, (gid, pid) in enumerate(target_list):
541+
if self._terminating:
542+
logger.info("检测到插件正在停止,取消后续增量分析任务创建")
543+
break
538544
task = asyncio.create_task(
539545
staggered_incremental(idx, gid, pid),
540546
name=f"incremental_group_{gid}",
@@ -649,6 +655,8 @@ async def _perform_incremental_analysis_for_group(
649655

650656
async def _run_incremental_final_report(self):
651657
"""基于当天增量累积数据生成并发送最终报告"""
658+
if self._terminating:
659+
return
652660
try:
653661
logger.info("开始生成增量最终报告(交错并发模式)")
654662

@@ -680,6 +688,9 @@ async def staggered_final_report(idx, gid, pid):
680688

681689
report_tasks = []
682690
for idx, (gid, pid) in enumerate(target_list):
691+
if self._terminating:
692+
logger.info("检测到插件正在停止,取消后续最终报告任务创建")
693+
break
683694
task = asyncio.create_task(
684695
staggered_final_report(idx, gid, pid),
685696
name=f"final_report_group_{gid}",
@@ -744,6 +755,9 @@ async def _perform_incremental_final_report_for_group(
744755
trace_id = TraceContext.generate(prefix="report", group_name=group_name)
745756
TraceContext.set(trace_id)
746757

758+
if self._terminating:
759+
return
760+
747761
logger.info(
748762
f"开始为群 {group_id} 生成增量最终报告 "
749763
f"(Platform: {target_platform_id or 'Auto'})"

0 commit comments

Comments
 (0)