fix(增量分析): 增量分析任务的生命周期检查,与定时分析保持一致

This commit is contained in:
SXP-Simon
2026-03-26 13:02:44 +08:00
parent a814c09232
commit 2539063a3e
@@ -375,6 +375,9 @@ class AutoScheduler:
analysis_tasks = [] analysis_tasks = []
for gid, pid in target_list: for gid, pid in target_list:
if self._terminating:
logger.info("检测到插件正在停止,取消后续分析任务创建")
break
task = asyncio.create_task( task = asyncio.create_task(
throttled_analysis(gid, pid), throttled_analysis(gid, pid),
name=f"analysis_group_{gid}", name=f"analysis_group_{gid}",
@@ -535,6 +538,9 @@ class AutoScheduler:
analysis_tasks = [] analysis_tasks = []
for idx, (gid, pid) in enumerate(target_list): for idx, (gid, pid) in enumerate(target_list):
if self._terminating:
logger.info("检测到插件正在停止,取消后续增量分析任务创建")
break
task = asyncio.create_task( task = asyncio.create_task(
staggered_incremental(idx, gid, pid), staggered_incremental(idx, gid, pid),
name=f"incremental_group_{gid}", name=f"incremental_group_{gid}",
@@ -649,6 +655,8 @@ class AutoScheduler:
async def _run_incremental_final_report(self): async def _run_incremental_final_report(self):
"""基于当天增量累积数据生成并发送最终报告""" """基于当天增量累积数据生成并发送最终报告"""
if self._terminating:
return
try: try:
logger.info("开始生成增量最终报告(交错并发模式)") logger.info("开始生成增量最终报告(交错并发模式)")
@@ -680,6 +688,9 @@ class AutoScheduler:
report_tasks = [] report_tasks = []
for idx, (gid, pid) in enumerate(target_list): for idx, (gid, pid) in enumerate(target_list):
if self._terminating:
logger.info("检测到插件正在停止,取消后续最终报告任务创建")
break
task = asyncio.create_task( task = asyncio.create_task(
staggered_final_report(idx, gid, pid), staggered_final_report(idx, gid, pid),
name=f"final_report_group_{gid}", name=f"final_report_group_{gid}",
@@ -744,6 +755,9 @@ class AutoScheduler:
trace_id = TraceContext.generate(prefix="report", group_name=group_name) trace_id = TraceContext.generate(prefix="report", group_name=group_name)
TraceContext.set(trace_id) TraceContext.set(trace_id)
if self._terminating:
return
logger.info( logger.info(
f"开始为群 {group_id} 生成增量最终报告 " f"开始为群 {group_id} 生成增量最终报告 "
f"(Platform: {target_platform_id or 'Auto'})" f"(Platform: {target_platform_id or 'Auto'})"