exlab_wizard.api.routers.staging#
/staging router. Backend Spec §13.7, §13.8.
Three endpoints back the orchestrator’s staging panel:
GET /staging– enumerate every staged run with its lifecycle state, file count, byte total, and elapsed time since last activity.POST /staging/{run_path}/force-sync– enqueue an immediate NAS sync for a specific run (used when the operator wants to skip the watcher’s polling latency).POST /staging/{run_path}/clear– delete the local staging copy of a sync-verified run (the manual-mode action from §13.7).
All three return 503 with {"code": "orchestrator_disabled"}
when config.orchestrator.enabled is False – the router is only
mounted when the flag is True (see api.app.create_app()), but the
guard is kept here so a misconfigured deployment surfaces a clear error.
Functions
Construct the |
Classes
|
|
|
|
|
One staging-panel row. |
|
|
- class exlab_wizard.api.routers.staging.ClearResponse(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/clearresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.ForceSyncResponse(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/force-syncresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.StagedRunRow(**data)[source]#
Bases:
BaseModelOne staging-panel row. Backend Spec §13.8.
- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.StagingListResponse(**data)[source]#
Bases:
BaseModelGET /stagingresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- runs: list[StagedRunRow]#