Files
janssen/claude-memory/project_python_runner.md
T
2026-06-09 15:46:34 +02:00

2.0 KiB
Raw Blame History

name, description, metadata
name description metadata
python-runner Docker kontejner na Unraidu s email pipeline — architektura, závislosti, scheduling, hlášení
node_type type originSessionId
memory project ec13e72a-c0a8-4862-93d9-6da9b29b82f3

Email pipeline běží v Docker kontejneru python-runner na Unraidu (192.168.1.76). Skripty jsou v /mnt/user/Scripts/ (volume → /scripts/).

Pipeline spouštěna 2× denně cronem (0 6,18 * * *) přes run_pipeline.sh:

  • 1b — Graph delta sync (nové/změněné emaily → MongoDB)
  • 3 — Download attachments
  • 4 — Unwrap S/MIME
  • 5 — Enrich fulltext → PostgreSQL

Wrapper: 0_run_pipeline_v1.0.py

  • Na začátku auto-install: pip install -q -r /scripts/requirements.txt — odolné vůči recreate kontejneru
  • Na konci email report: HTML tabulka výsledků z reports@buzalka.czvladimir.buzalka@buzalka.cz; při chybě přiloží log selhavšího kroku

Závislosti: requirements.txt v /scripts/ + v repo Python-runner/requirements.txt Klíčové: msal, asn1crypto, pymongo, psycopg, extract-msg, beautifulsoup4

Incident 2026-06-05: kontejner byl recreated → ztraceny balíčky → pipeline padala 24h (kroky 1b/3/4 FAIL s ModuleNotFoundError). Opraveno auto-installem.

Knihovna pro odesílání emailů: Knihovny/EmailMessagingGraph.py (kopie na serveru /scripts/EmailMessagingGraph.py)

  • SENDER: reports@buzalka.cz, tenant TrialHelp s.r.o.

Logy: /mnt/user/Scripts/logs/pipeline_YYYYMMDD_HHMM.log, symlink pipeline_latest.log, retence 30 dní.

Centrální logging (2026-06-09): wrapper 0_run_pipeline posílá do Grafana Loki (přes central-logging gateway) každý řádek konzole každého kroku — app="email_pipeline", pole logger=step.<id>. Klient central_logging*.py zkopírován do /scripts/. Token+gateway NEjsou v kontejneru — dány přes os.environ.setdefault přímo ve wrapperu (kroky je dědí jako subprocesy). Grafana dotaz: {app="email_pipeline"}.

Souvisí s graph-email-import, project-mcp-emaily.