Simplify template candidate confirmation and direct batch backtesting
Deploy production / deploy (push) Successful in 57s

This commit is contained in:
yuxuanhui
2026-09-20 11:01:07 +08:00
parent 07dd767c52
commit 13a2168ca5
14 changed files with 510 additions and 245 deletions
+10
View File
@@ -2,6 +2,7 @@
from fastapi import APIRouter, Depends, HTTPException, Query, Request
from ..backtests.contracts import RunOutput
from ..security import require_auth
from .assets import Assets
from .comparisons import compare
@@ -22,6 +23,7 @@ from .workspace_contracts import (
ImportCommit,
ImportPreview,
SettingVariants,
TemplateBacktest,
WorkflowSpec,
)
@@ -149,6 +151,14 @@ async def preview(experiment_id: str, body: ExperimentPreview, request: Request)
return await Experiments(db).preview(experiment_id, body.candidate_ids)
@router.post("/experiments/{experiment_id}/backtest", status_code=202, response_model=RunOutput)
async def template_backtest(experiment_id: str, body: TemplateBacktest, request: Request):
async with request.app.state.sessions.begin() as db:
result = await Experiments(db).start_template_backtest(experiment_id, body)
request.app.state.runner.backtests.wake.set()
return result
@router.post("/variants/settings", status_code=201)
async def settings_variants(body: SettingVariants, request: Request):
async with request.app.state.sessions.begin() as db: