From 5914ff889a6c74a9e52eaa0e691b12ad664439ad Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Mon, 25 Mar 2024 16:23:39 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20=E2=80=94=20Use=20background=20task?= =?UTF-8?q?s=20for=20alerting=20(fix=20#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- argos/server/routes/api.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/argos/server/routes/api.py b/argos/server/routes/api.py index a23e830..8e0e177 100644 --- a/argos/server/routes/api.py +++ b/argos/server/routes/api.py @@ -1,7 +1,7 @@ """Web interface for machines""" from typing import List, Union -from fastapi import APIRouter, Depends, Request +from fastapi import APIRouter, BackgroundTasks, Depends, Request from sqlalchemy.orm import Session from argos.logging import logger @@ -30,6 +30,7 @@ async def read_tasks( async def create_results( request: Request, results: List[AgentResult], + background_tasks: BackgroundTasks, db: Session = Depends(get_db), config: Config = Depends(get_config), agent_id: Union[None, str] = None, @@ -59,8 +60,9 @@ async def create_results( # Don’t create an alert if the severity has not changed if last_severity != severity: - # XXX Use a job queue or make it async - handle_alert(config, result, task, severity, last_severity, request) + background_tasks.add_task( + handle_alert, config, result, task, severity, last_severity, request + ) db_results.append(result) db.commit()