Add job processing system with streaming endpoint

Introduced a `processing` router to handle job streaming using server-sent events. Added `Jobs` and `JobStatus` models for managing job-related data, along with database creation logic. Updated the `sample` router to create new job entries during experiment creation.
This commit is contained in:
GotthardG
2025-04-10 11:53:36 +02:00
parent f54ffd138a
commit fda9142155
5 changed files with 63 additions and 2 deletions

View File

@ -28,6 +28,8 @@ from app.models import (
ExperimentParameters as ExperimentParametersModel,
# ExperimentParameters,
Results as ResultsModel,
Jobs as JobModel,
JobStatus,
)
from app.dependencies import get_db
import logging
@ -348,6 +350,15 @@ def create_experiment_parameters_for_sample(
db.add(new_event)
db.commit()
new_job = JobModel(
experiment_parameters_id=new_exp.id, # <-- Correct reference here
parameters=new_exp.to_dict(), # assuming params has a to_dict() method
status=JobStatus.TODO,
)
db.add(new_job)
db.commit()
db.refresh(new_job)
return new_exp