48df10b17e
- Harden DB-backed handlers and seed profiles; align client wire shapes for cluster resources, QEMU config, and node SSL fields - Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and terminate HTTPS at Kubernetes Ingress - Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and make pulumi-tests - Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions (make ci + Compose/Helm validation)
26 lines
807 B
Markdown
26 lines
807 B
Markdown
**Language / Язык:** [English](tasks.md) | [Русский](../ru/domains/tasks.md)
|
|
|
|
# Tasks
|
|
|
|
Long-running operations return a Proxmox-style **UPID**. Task rows, events,
|
|
optional resource locks, and idempotency metadata commit together.
|
|
|
|
## Client pattern
|
|
|
|
1. `POST`/`DELETE` mutation → read UPID from `data`
|
|
2. Poll `GET /nodes/{node}/tasks/{upid}/status` until finished
|
|
3. Optionally fetch `.../log`
|
|
|
|
## Workers
|
|
|
|
- Claim with `FOR UPDATE SKIP LOCKED`
|
|
- Renewable leases (`TASK_LEASE_SECONDS`)
|
|
- Progress + append-only logs
|
|
- Recovery after process failure
|
|
|
|
Simulation durations honour `SIMULATION_TIME_SCALE`. Worker lease safety uses
|
|
wall-clock time so an accelerated scenario cannot invalidate distributed claim
|
|
semantics.
|
|
|
|
See [API surface](../api-surface.md) and [Operations](../operations.md).
|