implemented tasks/subtasks for the first time

This commit is contained in:
Khalim Conn-Kowlessar 2025-11-27 11:25:36 +00:00
parent d20725d12b
commit f91ad4c3f1
2 changed files with 10 additions and 2 deletions

View file

@ -25,17 +25,20 @@ class SubTaskInterface:
# --------------------------------------------------------
# CREATE SUBTASK
# --------------------------------------------------------
def create_subtask(self, task_id: UUID, inputs: Optional[Dict[str, Any]] = None):
def create_subtask(self, task_id: UUID, inputs: Optional[Dict[str, Any]] = None, status=None):
with get_db_session() as session:
task = session.get(Task, task_id)
if not task:
raise ValueError(f"Task {task_id} not found")
# We treat waiting as the default status
status = "waiting" if status is None else status
subtask = SubTask(
task_id=task_id,
inputs=json.dumps(inputs) if inputs else None,
status="waiting",
status=status,
job_started=None,
job_completed=None,
)

View file

@ -5,6 +5,7 @@ from datetime import datetime
from tqdm import tqdm
import pandas as pd
import numpy as np
from uuid import UUID
from backend.Funding import Funding
from backend.SearchEpc import SearchEpc
@ -17,6 +18,7 @@ from starlette.responses import Response
from backend.app.config import get_settings, get_prediction_buckets
from backend.app.db.connection import db_engine
import backend.app.db.functions as db_funcs
from backend.app.db.functions.tasks.Tasks import SubTaskInterface
from backend.app.db.models.portfolio import rating_lookup
from backend.app.plan.schemas import PlanTriggerRequest, WALL_INSULATION_MEASURES, ROOF_INSULATION_MEASURES
@ -1277,6 +1279,9 @@ async def model_engine(body: PlanTriggerRequest):
finally:
session.close()
# Mark the subtask as successful
SubTaskInterface().update_subtask_status(subtask_id=UUID(body.subtask_id), status="failed")
logger.info("Model Engine completed successfully")
return Response(status_code=200)