aboutsummaryrefslogtreecommitdiff
path: root/src/zencompute/httpcomputeservice.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Allow using websocket messaging for faster remote completion updatesStefan Boberg12 hours1-0/+157
|
* Add convenience helpers to ComputeServiceSessionStefan Boberg13 hours1-1/+1
| | | | | Add Ready(), Abandon(), and SetOrchestrator() inline helpers to reduce verbosity at call sites, especially in tests.
* Add Retracted state to RunnerAction for retry-free reschedulingStefan Boberg23 hours1-0/+54
| | | | | | | | | | | | | | | | | | | | | | Retracted is an explicit, instigator-initiated request to pull an action back and reschedule it on a different runner (e.g. capacity opened up elsewhere). Unlike Failed/Abandoned auto-retry, rescheduling from Retracted does not increment RetryCount since nothing went wrong. - Add Retracted enum value after Cancelled with static_assert guarding ordinal placement so runner-side transitions cannot override it - Implement idempotent RetractAction() CAS method on RunnerAction - Extend ResetActionStateToPending() to accept Retracted without incrementing RetryCount - Add RetractAction() to ComputeServiceSession with pending/running map lookup and runner cancellation for running actions - Handle Retracted in HandleActionUpdates() scheduler loop (remove from active maps, reset to Pending, no history/results entry) - Add POST jobs/{lsn}/retract and queues/{queueref}/jobs/{lsn}/retract HTTP endpoints - Bump ActionHistoryEntry::Timestamps array from [8] to [9] - Add state machine documentation and per-state comments to RunnerAction - Add tests: retract_pending, retract_not_terminal, retract_http
* Batch action submission for compute serviceStefan Boberg42 hours1-364/+183
| | | | | | | - Consolidate duplicated action submission logic in httpcomputeservice into a single HandleSubmitAction method supporting both single-action and batch (actions array) payloads - Group actions by queue in RemoteHttpRunner and submit as batches with configurable chunk size, falling back to individual submission on failure - Extract shared helpers in computeservice: MakeErrorResult, ValidateQueueForEnqueue, ActivateActionInQueue, RemoveActionFromActiveMaps - Add WriteCompactBinaryObject to zencore
* compute orchestration (#763)Stefan Boberg14 days1-0/+1643
- Added local process runners for Linux/Wine, Mac with some sandboxing support - Horde & Nomad provisioning for development and testing - Client session queues with lifecycle management (active/draining/cancelled), automatic retry with configurable limits, and manual reschedule API - Improved web UI for orchestrator, compute, and hub dashboards with WebSocket push updates - Some security hardening - Improved scalability and `zen exec` command Still experimental - compute support is disabled by default