🔀 Merge branch 'fix-23' into 'main'

 — Use background tasks for alerting (fix #23)

Closes #23

See merge request framasoft/framaspace/argos!38
This commit is contained in:
Luc Didry 2024-03-27 15:19:21 +00:00
commit a4324b3747

View file

@ -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(
# Dont 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()