perf(deploy): flatten-session caching, bulk DeploySiteAsync, paged management queries
This commit is contained in:
@@ -952,6 +952,37 @@ scadabridge --url <url> deploy instance --id <int>
|
||||
|--------|----------|-------------|
|
||||
| `--id` | yes | Instance ID |
|
||||
|
||||
#### `deploy site`
|
||||
|
||||
Deploy **every deployable instance** at one site in a single batched operation.
|
||||
|
||||
Each instance keeps the full single-instance semantics — its own deployment ID and
|
||||
revision hash, its own per-instance operation lock, its own optimistically-concurrent
|
||||
status record, and the same query-before-redeploy idempotency check. The batch is
|
||||
**not** all-or-nothing: an instance that cannot be deployed (wrong state, failed
|
||||
validation, lock already held, site round-trip timed out) is reported as a failed row
|
||||
and the rest proceed. Each failed instance is individually retryable with
|
||||
`instance deploy --id`.
|
||||
|
||||
Site round-trips run with bounded concurrency
|
||||
(`ScadaBridge:DeploymentManager:SiteDeploymentMaxParallelism`, default 4), each under
|
||||
`SiteDeploymentTimeoutPerInstance` (default 120 s), so one wedged instance cannot stall
|
||||
the batch. The client waits up to 5 minutes.
|
||||
|
||||
`--site-id` is **required** — unlike `deploy artifacts`, omitting it does not mean
|
||||
fleet-wide.
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> deploy site --site-id <int>
|
||||
```
|
||||
|
||||
| Option | Required | Description |
|
||||
|--------|----------|-------------|
|
||||
| `--site-id` | yes | Target site ID. A site-scoped (non-Administrator) Deployer must supply an in-scope site. |
|
||||
|
||||
Output is a per-instance result matrix (`instanceId`, `uniqueName`, `deploymentId`,
|
||||
`success`, `errorMessage`) plus `successCount` / `failureCount`.
|
||||
|
||||
#### `deploy artifacts`
|
||||
|
||||
Deploy compiled artifacts to one or all sites (same as `site deploy-artifacts`).
|
||||
|
||||
Reference in New Issue
Block a user