38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
# Modul 3 — Paperless OCR-worker (SOLARIA + fallback PIHA)
|
|
|
|
> Ciezki OCR odseparowany od serwisu. Worker na SOLARIA (moc), fallback PIHA (wolno).
|
|
> Realizuje wzorzec "compute on-demand z fallback". Zalezy od: 2 (serwis+Redis dziala).
|
|
|
|
## Cel
|
|
Przetwarzac OCR dokumentow (w tym batch 70k zalacznikow z maili) na mocy SOLARII,
|
|
z gracefull fallback gdy SOLARIA offline — zadania czekaja w kolejce, nie gina.
|
|
|
|
## Wymogi
|
|
- Worker Paperless (ten sam obraz, tryb worker/consumer) na SOLARIA, podpiety do
|
|
Redis@PIHA (broker z modulu 2) przez Tailscale.
|
|
- `services/paperless-worker/` — compose + service.yaml (owner_node=solaria).
|
|
- **Fallback**: gdy SOLARIA offline -> zadania OCR czekaja w Redis (naturalne dla
|
|
Celery/task queue). OPCJONALNIE: lekki worker na PIHA (male concurrency) domiela
|
|
wolno, by nie blokowac w nieskonczonosc. Decyzja: kolejka-czeka vs slaby-worker-piha.
|
|
- Worker na SOLARIA moze uzyc GPU/wielu rdzeni (PAPERLESS_TASK_WORKERS wyzsze niz na PIHA).
|
|
- Batch 70k zalacznikow (modul 5 / faza-2) routowany przez ten worker — sizing/partie.
|
|
|
|
## Do zweryfikowania przez CC
|
|
- Czy Paperless-ngx wspiera oddzielny worker na innym hoscie dzielacy Redis+Postgres+
|
|
storage (WSPOLNY storage to wyzwanie — worker musi widziec te same pliki!).
|
|
UWAGA: to kluczowe — OCR-worker potrzebuje dostepu do storage dokumentow. Opcje:
|
|
(a) storage na PIHA montowany przez siec (NFS/sshfs) na SOLARIA — wolne/kruche,
|
|
(b) worker wysyla wynik OCR z powrotem bez wspoldzielenia storage,
|
|
(c) inny podzial. CC musi zweryfikowac architekture Paperless consumer/worker.
|
|
- Jak Paperless dzieli prace: consumer (obserwuje folder) vs task-worker (OCR) —
|
|
ktora czesc idzie na SOLARIA.
|
|
- Latencja Tailscale PIHA<->SOLARIA dla Redis/Postgres (czy akceptowalna).
|
|
- Co sie dzieje gdy worker@SOLARIA znika w polowie zadania (retry? lost?).
|
|
|
|
## Kryteria ukonczenia
|
|
- OCR wykonuje sie na SOLARIA gdy dostepna (weryfikowalne: obciazenie CPU tam, nie PIHA).
|
|
- SOLARIA offline -> zadania czekaja / domielane wolno, ZERO utraty zadan.
|
|
- SOLARIA wraca -> kolejka sie rozladowuje.
|
|
- Batch-mode dla 70k zalacznikow przetestowany na probce.
|
|
- W GitOps: services/paperless-worker/ + hosts/solaria/services.yaml + topology.
|