UI: автообновление, прогресс, отмена; порт 8080; меню-пилюли и отдельные окна
- Порт хоста по умолчанию 8080 (Chrome ERR_UNSAFE_PORT на 6000); compose, setup, config, README.
- Дашборд: одна hero-карточка, прогресс создания, POST /jobs/{id}/cancel, JobView progress_*.
- job_store: отмена и прогресс (thread-safe); cluster_lifecycle этапы и откат.
- Навигация: стили nav-pill; Swagger/ReDoc/Health через window.open.
- main.py: TemplateResponse(request, …) для Starlette.
- Документация: README, app/docs (api_routes, README); Makefile ps; .gitignore clusters.
This commit is contained in:
@@ -36,11 +36,13 @@ class JobView(BaseModel):
|
||||
|
||||
job_id: str
|
||||
kind: str
|
||||
status: Literal["queued", "running", "success", "failed"]
|
||||
status: Literal["queued", "running", "success", "failed", "cancelled"]
|
||||
cluster_name: str | None
|
||||
created_at_utc: str
|
||||
message: str | None = None
|
||||
result: dict[str, Any] | None = None
|
||||
progress_stage: str | None = Field(default=None, description="Текущий этап создания (пока задание активно)")
|
||||
progress_percent: int | None = Field(default=None, description="Прогресс 0–100 для индикатора в UI")
|
||||
|
||||
|
||||
class ClusterSummary(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user