fix: tighten datasource trigger guards

This commit is contained in:
linkong
2026-04-08 09:33:48 +08:00
parent 2da6ed166b
commit 2d43263b9e
3 changed files with 96 additions and 10 deletions

View File

@@ -274,6 +274,11 @@ def run_collector_now(collector_name: str) -> bool:
logger.error("Collector not found: %s", collector_name)
return False
existing_task = get_running_collector_task(collector_name)
if existing_task is not None and not existing_task.done():
logger.warning("Collector %s is already running in-memory; skipping duplicate trigger", collector_name)
return False
try:
task = asyncio.create_task(run_collector_task(collector_name), name=_collector_task_name(collector_name))
RUNNING_COLLECTOR_TASKS[collector_name] = task