From 085a129a85a63faf833c124993987e2832d28e98 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Oct 2026 21:42:22 +0200 Subject: [PATCH] Gleiche Fahrplanversion neu aufbereitet -> neu laden; 6 GB RAM empfohlen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pfaedle braucht für die Schweiz mit dem gemeinsamen CH+DE-Schienennetz bis zu 2,8 GB (gemessen), dazu ~1 GB Server. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01X48pE4bzjHej8w9HyZXCjb --- README.md | 4 ++-- deploy/install.sh | 2 +- trainpulse/server.py | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 754ae6e..061c120 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,8 @@ TrainPulse läuft als zwei Docker-Container aus demselben Image: die Kartenkacheln). Alle Daten liegen im Ordner `data/` neben der `compose.yaml`. 1. **Container anlegen** (Proxmox-Oberfläche → *Create CT*): - Debian 12 oder 13 Template, unprivileged, 2 Kerne, **4 GB RAM** (pfaedle braucht beim - Aufbereiten bis ~2 GB, der Server ~1 GB), **30 GB Disk** (Kartenkacheln ~4,5 GB, beim + Debian 12 oder 13 Template, unprivileged, 2 Kerne, **6 GB RAM** (pfaedle braucht beim + Aufbereiten bis ~3 GB, der Server ~1 GB), **30 GB Disk** (Kartenkacheln ~4,5 GB, beim monatlichen OSM-Update kurzzeitig ~5 GB Download für Deutschland), Netz per DHCP. Unter *Options → Features* **Nesting** und **keyctl** aktivieren – ohne das läuft Docker im LXC nicht. diff --git a/deploy/install.sh b/deploy/install.sh index dc5d3e2..3fc313c 100644 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -10,7 +10,7 @@ command -v apt-get >/dev/null || { echo "Nur für Debian/Ubuntu (apt) gedacht" > mem=$(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo) disk=$(df -Pm . | awk 'NR==2 {print $4}') [ "$disk" -ge 25000 ] || echo "WARNUNG: nur ${disk} MB frei – empfohlen sind ~30 GB" >&2 -[ "$mem" -ge 3500 ] || echo "WARNUNG: nur ${mem} MB RAM – für die Fahrplan-Aufbereitung werden ~4 GB empfohlen" >&2 +[ "$mem" -ge 5500 ] || echo "WARNUNG: nur ${mem} MB RAM – für die Fahrplan-Aufbereitung werden ~6 GB empfohlen" >&2 if ! command -v docker >/dev/null || ! docker compose version >/dev/null 2>&1; then echo "==> Docker installieren (offizielles Skript von get.docker.com)" diff --git a/trainpulse/server.py b/trainpulse/server.py index 665fd68..870b34c 100644 --- a/trainpulse/server.py +++ b/trainpulse/server.py @@ -77,7 +77,9 @@ def watch_feeds(): if not ready: continue want = src.rt_version if src.rt_version in ready else ready[-1] - if src.feed and src.feed.version == want and src.feed.covers(today + dt.timedelta(days=1)): + meta = json.loads((C.FEEDS_DIR / src.name / want / "meta.json").read_text()) + if (src.feed and src.feed.version == want and src.feed.covers(today + dt.timedelta(days=1)) + and src.feed.meta.get("prepared_at") == meta.get("prepared_at")): # gleiche Version neu aufbereitet? continue log.info("[%s] Lade Fahrplan %s …", src.name, want) t = time.time()