Quadlet statt eigener Service-Unit, zwei Umgebungsdateien
Prod fuehrt Phase 1 als Quadlet unter
~/.config/containers/systemd/wurzelwerk-ingest.container; Phase 2 legt
sich daneben. Damit faellt die eigene .service-Unit weg - zwei Wege,
dasselbe zu tun, sind einer zuviel.
Drei Dinge, die dabei nicht offensichtlich sind:
Type=oneshot Quadlet setzt sonst Type=notify, und die Unit
gaelte als gestartet, sobald der Container
laeuft, nicht wenn er durch ist.
kein RemainAfterExit Das Handbuch empfiehlt es fuer oneshot, aber bei
Timer-Aktivierung bliebe der Auftrag im Zustand
"started" und der Timer loeste ihn nie wieder
aus.
--env-file EnvironmentFile= im Abschnitt [Container] ist
nicht systemds EnvironmentFile=. Quadlet reicht
die Datei an podman weiter, und podman entfernt
keine Anfuehrungszeichen um Werte.
Network=bebop-net steht jetzt direkt in der Unit; P2_NETZ entfaellt.
Type=oneshot schaltet ausserdem die Startzeitgrenze ab, womit der Grund
fuer TimeoutStartSec=1800 wegfaellt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NupWEBPzsyohVPG47HsTz8
This commit is contained in:
co-authored by
Claude Opus 5
parent
c18e94e61e
commit
62e1923a72
@@ -346,16 +346,24 @@ Entwicklungsmaschine (Fedora, Python 3.14) — `neu 0, geändert 0, unverändert
|
||||
|
||||
### Betrieb
|
||||
|
||||
`deploy/` enthält `wurzelwerk-p2.service` und `.timer` als Vorlage. Kein
|
||||
Quadlet: Phase 2 ist kein Dienst, der läuft, sondern ein Auftrag, der fällig
|
||||
wird. Der Timer feuert versetzt zum 15-Minuten-Raster von Phase 1
|
||||
`deploy/` enthält `wurzelwerk-p2.container` und `.timer` als Vorlage,
|
||||
dazu `INBETRIEBNAHME.md` mit der Reihenfolge. Quadlet, wie Phase 1 — aber
|
||||
mit `Type=oneshot` und ohne `RemainAfterExit`: Phase 2 ist kein Dienst, der
|
||||
läuft, sondern ein Auftrag, der fällig wird und danach verschwindet. Mit
|
||||
`RemainAfterExit=yes` bliebe die Unit im Zustand „started" stehen, und der
|
||||
Timer könnte sie nie wieder auslösen.
|
||||
|
||||
Der Timer feuert versetzt zum 15-Minuten-Raster von Phase 1
|
||||
(`*:03,18,33,48`), damit der Slot vollständig in `raw_items` steht, bevor
|
||||
daraus kodiert wird. `phase2.py --aufholen` arbeitet alle Slots nach, denen
|
||||
eine Kodierung fehlt — ein ausgefallener Lauf holt sich beim nächsten Mal
|
||||
selbst ein.
|
||||
|
||||
Zugangsdaten stehen in `~/.config/wurzelwerk/p2.env` (chmod 600), nicht im
|
||||
Repo und nicht in der Unit. Vorlage: `deploy/p2.env.beispiel`.
|
||||
Zugangsdaten stehen in `~/.config/wurzelwerk/database.env` und
|
||||
`p2.env` (chmod 600), nicht im Repo und nicht in der Unit. Vorlage:
|
||||
`deploy/p2.env.beispiel`. Beide gehen als `--env-file` an podman, nicht über
|
||||
systemds `EnvironmentFile=` im Abschnitt `[Service]` — podman entfernt keine
|
||||
Anführungszeichen um Werte, systemd schon.
|
||||
|
||||
## Modul 5: Embeddings
|
||||
|
||||
|
||||
Reference in New Issue
Block a user