rebuild(runtime): govern market operations and job truth
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import date
|
||||
from typing import Any, Literal
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class BackfillInput(BaseModel):
|
||||
start_date: date
|
||||
end_date: date
|
||||
|
||||
|
||||
class EventRevisionInput(BaseModel):
|
||||
event_type: Literal["limit_up", "broken", "limit_down"]
|
||||
reason: str = Field(min_length=1, max_length=200)
|
||||
first_time: str = Field(default="", max_length=5)
|
||||
last_time: str = Field(default="", max_length=5)
|
||||
open_times: int | None = Field(default=None, ge=0)
|
||||
|
||||
|
||||
class OperationResult(BaseModel):
|
||||
model_config = {"extra": "allow"}
|
||||
|
||||
|
||||
class JobRunResponse(BaseModel):
|
||||
id: int
|
||||
kind: str
|
||||
run_key: str
|
||||
requested_date: str
|
||||
trigger: str
|
||||
status: Literal["running", "completed", "failed"]
|
||||
attempt: int
|
||||
started_at: str
|
||||
finished_at: str | None
|
||||
duration_ms: int | None
|
||||
coverage: float | None
|
||||
source_set: list[str]
|
||||
output_version: str
|
||||
payload: dict[str, Any]
|
||||
error_code: str
|
||||
error_message: str
|
||||
|
||||
|
||||
class RuntimeStatusResponse(BaseModel):
|
||||
state: Literal["idle", "running", "ready", "degraded"]
|
||||
message: str
|
||||
trade_date: str | None = None
|
||||
observed_at: str | None = None
|
||||
Reference in New Issue
Block a user