mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
implemented tasks/subtasks for the first time
This commit is contained in:
parent
d20725d12b
commit
f91ad4c3f1
2 changed files with 10 additions and 2 deletions
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue