Skip to content

Cloudflare-safe persistent jobs for Paperless worker - #7

Merged
Feberdin merged 5 commits into
mainfrom
codex/paperless-cloudflare-jobs-20260812
Aug 13, 2026
Merged

Cloudflare-safe persistent jobs for Paperless worker#7
Feberdin merged 5 commits into
mainfrom
codex/paperless-cloudflare-jobs-20260812

Conversation

@Feberdin

@Feberdin Feberdin commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Ergebnis

Potentiell lange Worker-Endpunkte nehmen Arbeit nun per HTTP 202 an und liefern job_id, request_id und status_url. SQLite hält Jobs über Reloads und Worker-Restarts persistent; schreibende Jobs sind serialisiert und werden nach Unterbrechung nicht automatisch wiederholt.

Endpunkte

  • POST /api/run, /api/resume, /api/restart
  • POST /api/review/entities/jobs
  • POST /api/review/merge
  • GET /api/jobs/<job_id>
  • Legacy GET /api/review/entities liefert jetzt 405

Sicherheit und Betrieb

  • Idempotency-Key und atomare Ressourcenbelegung
  • exakter Fortschritt ohne erfundene ETA
  • sichere terminale Fehler mit Request-ID
  • Log-Redaction, no-store, Session- statt Local-Storage für Bearer-Token
  • Read-only-Scan darf nach Restart einmal fortgesetzt werden; Mutationen werden interrupted
  • Basisimage ist per Digest, Python-Abhängigkeiten sind exakt versioniert
  • Broker baut das Produktionsimage aus dem unveränderlichen GitOps-Checkout; die Laufzeit meldet den getesteten App-Commit
  • Migration und Rollback sind in docs/cloudflare-long-running-jobs.md beschrieben

Qualitätssicherung

Deployment

  • GitOps-Commit: a15d18646e6a1e17f682593fd7fb183cfa9caed0
  • getesteter App-Commit im Image: e15532882f58a02e2a033d0f79e6b965eaad39a7
  • Broker-Plan: plan_2a1fa82035aa41548368815a9020d1c5
  • Security-Gate: allow, Commit stimmt überein, 0 Blocker
  • Deployment: deploy_41850636966248e8ad741b415a86ce7d
  • Laufzeit: paperless-kiplus-worker:1.4.21-e155328, Port 8788, healthy
  • Start-Reconciliation: 0 fortgesetzte Read-only-Jobs, 0 unterbrochene Mutationen
  • Heimdall/Broker-Probe: HTTP 200

Rollback bleibt über einen neuen Broker-Plan auf den vorherigen bekannten Commit möglich; die persistente /data-Ablage wurde beibehalten.

@Feberdin
Feberdin marked this pull request as ready for review August 13, 2026 20:20
@Feberdin
Feberdin merged commit e77e7be into main Aug 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant