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
1.3 KiB
1.3 KiB
Job Lifecycle Contract
GeoIntel uses background jobs for long-running geospatial and AI tasks.
Status Values
queued: job record exists but worker has not started.running: worker is processing.completed: output persisted and metrics available.failed: processing stopped with a recoverable or unrecoverable error.cancelled: user requested cancellation before completion.
Common Job Fields
- id
- project_id
- job_type
- status
- progress_percent
- current_step
- parameters_json
- result_json
- error_json
- created_at
- started_at
- finished_at
Job Types
- raster_metadata
- raster_clip
- raster_tile
- vector_metadata
- vector_clip
- object_detection
- segmentation
- qaqc
- export_geojson
- export_report
Progress Steps
Object detection should use these steps:
- validate_input
- prepare_tiles
- load_model
- run_inference
- georeference_outputs
- persist_results
- calculate_metrics
- completed
Error Contract
A failed job must store:
{
"code": "RASTER_CRS_MISSING",
"message": "Raster CRS could not be determined.",
"recoverable": true,
"step": "validate_input"
}
Frontend Behavior
- queued: show pending state.
- running: show current step and progress.
- completed: show outputs and actions.
- failed: show error, details and retry where safe.