feat(m9): CLI cached-call retry/discard command group
Adds `cached-call retry` and `cached-call discard` subcommands that relay to the existing Deployer-gated RetryParkedMessageCommand / DiscardParkedMessageCommand via the central SiteCallAuditActor → site relay. ManagementCommandRegistry already covered both types via reflection auto-discovery. CommandTreeTests updated to include cached-call (group count 16 → 17).
This commit is contained in:
@@ -1743,6 +1743,40 @@ Site identifiers and connection names are environment-specific; the importer fir
|
||||
|
||||
---
|
||||
|
||||
### `cached-call` — Retry or discard parked cached-call operations
|
||||
|
||||
Manage parked `ExternalSystem.CachedCall` and `Database.CachedWrite` operations at a
|
||||
site. Both sub-commands relay via the central `SiteCallAuditActor` → site relay and
|
||||
require the **Deployer** role.
|
||||
|
||||
#### `cached-call retry`
|
||||
|
||||
Retry a parked cached-call operation at the specified site.
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> cached-call retry --site-id <string> --tracked-operation-id <string>
|
||||
```
|
||||
|
||||
| Option | Required | Description |
|
||||
|--------|----------|-------------|
|
||||
| `--site-id` | yes | Site identifier where the operation is parked |
|
||||
| `--tracked-operation-id` | yes | Tracked operation ID (MessageId) of the parked cached call |
|
||||
|
||||
#### `cached-call discard`
|
||||
|
||||
Discard a parked cached-call operation at the specified site.
|
||||
|
||||
```sh
|
||||
scadabridge --url <url> cached-call discard --site-id <string> --tracked-operation-id <string>
|
||||
```
|
||||
|
||||
| Option | Required | Description |
|
||||
|--------|----------|-------------|
|
||||
| `--site-id` | yes | Site identifier where the operation is parked |
|
||||
| `--tracked-operation-id` | yes | Tracked operation ID (MessageId) of the parked cached call |
|
||||
|
||||
---
|
||||
|
||||
## Architecture Notes
|
||||
|
||||
The CLI connects to the Central cluster using Akka.NET's `ClusterClient`. It does not join the cluster — it contacts the `ClusterClientReceptionist` on one of the configured Central nodes and sends commands to the `ManagementActor` at path `/user/management`.
|
||||
|
||||
Reference in New Issue
Block a user