What's Changed
API
POST /processes/:processID/execution
- Execution mode now determined per OGC API - Processes Requirements 25/26: honors
Prefer: respond-async header when process supports both modes, defaults to sync otherwise
- Returns
Preference-Applied response header when async preference is honored
GET /admin/resources
- New endpoint to view resource utilization for local jobs (docker, subprocess) and queue status
GET /jobs/:jobID/metadata
- Added
recoveryNotice object to metadata format
Features
- Added restart recovery for docker, subprocess, and AWS Batch jobs, including status reconciliation and log handling.
- Introduced
lost job status and surfaced it in UI status indicators (job list, job logs, status table).
- Recovered jobs annotate metadata with a recovery notice and write best-effort metadata when some fields are missing.
- Resource pool can force-reserve resources for already-running recovered docker jobs.
Configuration
- New
MAX_LOCAL_CPUS and MAX_LOCAL_MEMORY environment variables (or --max-local-cpus and --max-local-memory CLI flags) to set resource limits for local job scheduling
- Process definitions are validated against these limits at startup and when adding/updating processes via API
- Processes without explicit resource requirements use default values
Documentation
- Added sequence diagram for local scheduler
- Added Recovery section to DEV_GUIDE
Deploy
🐳 Docker/Container
# Pull the image
docker pull ghcr.io/Dewberry/sepex:0.2.2