merge: integrate alpha management with main and sequence migration 0005

This commit is contained in:
yuxuanhui
2026-09-08 10:45:00 +08:00
56 changed files with 7453 additions and 55 deletions
+8 -1
View File
@@ -16,11 +16,13 @@ from sqlalchemy import delete, select, text
from .ai.routes import router as ai_router
from .ai.runtime import AIRuntime
from .alphas import list_statement, sorted_statement
from .backtests.routes import router as backtest_router
from .business import Business, notify_job
from .catalog.routes import router as catalog_router
from .config import Settings
from .db import create_database
from .jobs import AUTH_KINDS, Runner, create_job
from .models import Account, Admin, Job, JobItem, LoginSession
from .models import Account, Admin, BacktestConfig, Job, JobItem, LoginSession
from .schemas import (
AccountOutput,
AlphaDetail,
@@ -88,6 +90,9 @@ def create_app(settings=None, wq_client=None, ai_model_factory=None):
async def lifespan(app):
async with sessions() as db:
await bootstrap(db, settings)
async with sessions.begin() as db:
if not await db.get(BacktestConfig, 1):
db.add(BacktestConfig(id=1))
await ai_runtime.start()
if settings.enable_runner:
await runner.start()
@@ -386,6 +391,8 @@ def create_app(settings=None, wq_client=None, ai_model_factory=None):
await notify_job(runner, "retry_job", result)
return result
app.include_router(backtest_router)
app.include_router(api)
app.include_router(catalog_router)
app.include_router(ai_router(ai_runtime))
return app