Initial public release
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Job Lifecycle
|
||||
|
||||
Long-running work must run through jobs.
|
||||
|
||||
## Job statuses
|
||||
|
||||
```text
|
||||
queued
|
||||
running
|
||||
succeeded
|
||||
failed
|
||||
cancelled
|
||||
```
|
||||
|
||||
## Job table fields
|
||||
|
||||
- id
|
||||
- job_type
|
||||
- status
|
||||
- project_id
|
||||
- dataset_id nullable
|
||||
- analysis_run_id nullable
|
||||
- progress_percent nullable
|
||||
- message nullable
|
||||
- error_code nullable
|
||||
- error_detail nullable
|
||||
- created_at
|
||||
- started_at
|
||||
- finished_at
|
||||
|
||||
## Job types
|
||||
|
||||
- dataset_metadata_extract
|
||||
- raster_clip
|
||||
- raster_tile
|
||||
- vector_import
|
||||
- vector_clip
|
||||
- grb_fetch
|
||||
- object_detection
|
||||
- segmentation
|
||||
- qaqc_compare
|
||||
- export_generate
|
||||
|
||||
## Job events
|
||||
|
||||
Each status transition should create a domain event.
|
||||
|
||||
## API behavior
|
||||
|
||||
Starting a long-running operation returns immediately with:
|
||||
|
||||
```json
|
||||
{
|
||||
"data": {
|
||||
"job_id": "...",
|
||||
"status": "queued"
|
||||
},
|
||||
"error": null,
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
|
||||
The frontend polls a job endpoint until success or failure.
|
||||
|
||||
## Failure handling
|
||||
|
||||
Jobs must fail loudly and clearly. Do not silently skip processing.
|
||||
Reference in New Issue
Block a user