Skip to content

ADR-0011: Redis 8 + Celery, hosted Docs

  • Status: accepted
  • Datum: 2026-08-26
  • Phase: P-INF
  • Lastenheft: kein Muss, Stack / product-ux hosted docs

Kontext

Ingest, GIS-Import, PDF, .ltp/QGIS-Export dürfen nicht im FastAPI-Request laufen. /docs leitet auf /documentation/ um, ohne Docs-Service.

Entscheidung

Compose: redis:8.10.1-alpine, Celery 5.6.3 (uv run celery), Docs zensical/zensical:0.0.57. Next.js proxyt /documentation/ auf den Docs-Service. FastAPI Swagger bleibt auf dem API-Host /docs. Lange Jobs: primitive IDs, idempotent, Time Limits. Varnish bleibt optional, nicht in P-INF.

Begründung

Ein Broker im Compose-Netz, dasselbe Backend-Image für Worker. Hosted Docs erfüllen die product-ux-Regel, ohne Zensical nur lokal zu serven.

Verworfene Alternativen

Alternative Warum verworfen
Lange Jobs in FastAPI-Handlern Timeouts, doppelte PDF/Imports, fastapi-Regel
Hosted Docs nur zensical serve auf dem Laptop /documentation/ wäre tot auf nasetra
RQ / ARQ statt Celery Celery ist der Stack-Default; Beat nur wenn periodische Jobs existieren
Redis :latest Undeterministisch; Pin 8.10.1-alpine

Folgen

Health prüft Redis. Settings → API zeigt die neuen Abhängigkeiten. Sample-Task ping rundet den Worker ab. Beat wird nicht gestartet, solange es keine periodischen Jobs gibt.