Files
geointel/docs/QUEUE_ARCHITECTURE.md
Jens faeb58ef6d
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
Initial public release
2026-08-31 21:56:53 +02:00

953 B

Queue Architecture

Decision

Use Redis + RQ for V1 background jobs.

Why

  • Simple to run locally.
  • Easy to understand.
  • Good enough for raster processing and AI inference jobs.
  • Avoids Celery complexity in the first implementation.

Queue names

  • default for lightweight jobs.
  • processing for raster/vector processing.
  • ai for detection and segmentation.
  • exports for GeoJSON/report exports.

Job lifecycle

  1. API validates request.
  2. API creates analysis_run with status queued.
  3. API enqueues job with analysis_run_id.
  4. Worker sets status running.
  5. Worker writes artifacts and metrics.
  6. Worker sets status completed or failed.
  7. Frontend polls analysis run endpoint.

Failure handling

Failures must store:

  • error code,
  • error message,
  • stack trace in internal logs only,
  • user-safe explanation.

No silent failures

A failed job must be visible in the UI and queryable through the API.