docs: mark Plesk cron todo done; optional heartbeat backlog
Record live monitor.php cron config in HOSTING.md and close todo 05. Move optional */5 heartbeat task to todo/13. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
|
||||
## Notizen
|
||||
|
||||
- Plesk-Cron: `httpdocs/monitor.php`, `*/10 * * * *`, „Nur Fehler“ (Todo 05)
|
||||
- Plesk-Cron: `httpdocs/monitor.php`, `*/10 * * * *`, „Nur Fehler“ — erledigt (Todo 05, 2026-06-12)
|
||||
- Browser-Aufruf `https://0012.de/monitor.php` → leere Seite (HTTP 200) ist korrekt
|
||||
- SSL-`warn` auf boka-Hosts nach LE short→long-lived-Wechsel: bekannt, kein Handlungsbedarf auf 0012.de
|
||||
|
||||
|
||||
+19
-12
@@ -1,6 +1,7 @@
|
||||
# 05 — Plesk Cron (Geplante Aufgaben)
|
||||
|
||||
**Priorität:** high
|
||||
**Status:** erledigt (2026-06-12)
|
||||
**Abhängigkeiten:** 01, 03 (Skript muss existieren)
|
||||
**Referenz:** Plesk → Websites & Domains → Geplante Aufgaben
|
||||
|
||||
@@ -10,16 +11,17 @@ Monitoring automatisch alle 5–10 Minuten ausführen.
|
||||
|
||||
## Checkliste
|
||||
|
||||
- [ ] Aufgabe anlegen: **PHP-Skript ausführen**
|
||||
- [ ] Skriptpfad: `httpdocs/monitor.php` (Pfad nach Deployment verifizieren)
|
||||
- [ ] PHP-Version: höchste stabile (z. B. 8.5.7)
|
||||
- [ ] **Aktiv** angehakt
|
||||
- [ ] Ausführen: **Cron-Stil**
|
||||
- [ ] Expression: `*/10 * * * *` (Pull-Checks alle 10 Min)
|
||||
- [ ] Beschreibung: z. B. „0012 external monitoring pull“
|
||||
- [ ] Benachrichtigen: **Nur Fehler** (siehe unten)
|
||||
- [ ] **Jetzt ausführen** — Exit-Code / Log prüfen
|
||||
- [ ] Optional zweite Aufgabe für leichtgewichtigen Heartbeat-Only-Check (`*/5`) — nur wenn von monitor.php getrennt
|
||||
- [x] Aufgabe anlegen: **PHP-Skript ausführen**
|
||||
- [x] Skriptpfad: `httpdocs/monitor.php` (Pfad nach Deployment verifizieren)
|
||||
- [x] PHP-Version: höchste stabile (z. B. 8.5.x)
|
||||
- [x] **Aktiv** angehakt
|
||||
- [x] Ausführen: **Cron-Stil**
|
||||
- [x] Expression: `*/10 * * * *` (Pull-Checks alle 10 Min)
|
||||
- [x] Beschreibung: z. B. „0012 external monitoring pull“
|
||||
- [x] Benachrichtigen: **Nur Fehler** (siehe unten)
|
||||
- [x] **Jetzt ausführen** — Exit-Code / Log prüfen
|
||||
|
||||
Optional zweite Aufgabe für Heartbeat-only (`*/5`): ausgelagert nach [`13-optional-plesk-cron-heartbeat.md`](13-optional-plesk-cron-heartbeat.md) — nicht nötig, Stale-Check läuft im gleichen `monitor.php`-Lauf.
|
||||
|
||||
## Benachrichtigen: „Nur Fehler“
|
||||
|
||||
@@ -45,8 +47,13 @@ Plesk nutzt System-Timezone des Servers.
|
||||
|
||||
## Akzeptanzkriterien
|
||||
|
||||
- Aufgabe läuft scheduled ohne manuellen Klick
|
||||
- `data/last-checks.json` Timestamp bewegt sich
|
||||
- [x] Aufgabe läuft scheduled ohne manuellen Klick (Access-Log: `curl/8.20.0` → `GET /monitor.php`)
|
||||
- [x] `data/last-checks.json` Timestamp bewegt sich (verifiziert in Todo 03)
|
||||
|
||||
## Notizen
|
||||
|
||||
- Lauf im Access-Log als HTTP-GET sichtbar (Plesk ruft URL per curl auf). Follow-up: CLI + Token — [`12-monitor-php-token-check.md`](12-monitor-php-token-check.md)
|
||||
- Ist-Konfiguration dokumentiert in [`../HOSTING.md`](../HOSTING.md#geplante-aufgaben-cron)
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# 13 — Optional: Plesk Cron Heartbeat (`*/5`)
|
||||
|
||||
**Priorität:** backlog (optional)
|
||||
**Status:** nicht umgesetzt — bewusst weggelassen
|
||||
**Abhängigkeiten:** 05 (Haupt-Cron), 04 (Push ingest)
|
||||
**Referenz:** [`05-plesk-cron.md`](05-plesk-cron.md), [`../HOSTING.md`](../HOSTING.md)
|
||||
|
||||
## Ziel
|
||||
|
||||
Optional eine **zweite** geplante Aufgabe in Plesk, die nur die Push-Stale-Prüfung (boka silent) alle 5 Min ausführt — getrennt vom vollen Pull-Check in `monitor.php`.
|
||||
|
||||
## Ausgangslage
|
||||
|
||||
- Haupt-Cron (Todo 05): `*/10 * * * *` → `httpdocs/monitor.php` (HTTPS/SSL + boka-Stale/Schwellen)
|
||||
- boka pusht alle 5 Min; Stale-Schwelle in `monitor-lib.php`: 15 Min
|
||||
- **Aktuell ausreichend:** ein Lauf alle 10 Min reicht für Stale-Erkennung
|
||||
|
||||
## Wann sinnvoll
|
||||
|
||||
- Pull-Checks dauern lang (>5 Min) und sollen seltener laufen, Stale-Alarm aber früher kommen
|
||||
- Eigenes leichtgewichtiges Skript (nur `checkBokaPushStatus()`, kein HTTPS-Roundtrip)
|
||||
|
||||
## Checkliste (falls umgesetzt)
|
||||
|
||||
- [ ] Entscheidung: separates Skript (`monitor-heartbeat.php`) vs. Parameter an `monitor.php`
|
||||
- [ ] Plesk-Aufgabe: Cron-Stil `*/5 * * * *`, PHP-Skript, „Nur Fehler“
|
||||
- [ ] Kein Doppel-Alarm: Retry-/Cooldown-Logik mit Haupt-Monitor abstimmen
|
||||
- [ ] [`../HOSTING.md`](../HOSTING.md) und [`05-plesk-cron.md`](05-plesk-cron.md) aktualisieren
|
||||
|
||||
## Akzeptanzkriterien
|
||||
|
||||
- Stale-Alarm spätestens ~5 Min nach letztem Push (statt bis zu 10 Min + Pull-Laufzeit)
|
||||
- Keine doppelten Mails bei gleichzeitigem Pull- und Heartbeat-Lauf
|
||||
+5
-2
@@ -8,7 +8,7 @@ Nummerierte Todos für den 0012.de-Webspace. Abhängigkeiten beachten.
|
||||
| 02 | [02-email-smtp.md](02-email-smtp.md) | **high** | Postfächer, SMTP für Alerts (0012.de) |
|
||||
| 03 | [03-monitoring-pull-phase1.md](03-monitoring-pull-phase1.md) | **high** | `monitor.php`, HTTPS/SSL-Checks, Alarm |
|
||||
| 04 | [04-monitoring-push-boka.md](04-monitoring-push-boka.md) | **medium** | Push von boka → `ingest.php` — erledigt |
|
||||
| 05 | [05-plesk-cron.md](05-plesk-cron.md) | **high** | Geplante Aufgaben in Plesk |
|
||||
| 05 | [05-plesk-cron.md](05-plesk-cron.md) | **high** | Geplante Aufgaben in Plesk — erledigt |
|
||||
| 06 | [06-site-0012-landing.md](06-site-0012-landing.md) | **medium** | Status-Beacon Landing Page |
|
||||
| 07 | [07-mail-domains-external.md](07-mail-domains-external.md) | **medium** | MX für Domains ohne Mailserver |
|
||||
| 08 | [08-monitoring-phase2.md](08-monitoring-phase2.md) | **medium** | API-Health, Latenz, Backup-Heartbeat |
|
||||
@@ -16,17 +16,20 @@ Nummerierte Todos für den 0012.de-Webspace. Abhängigkeiten beachten.
|
||||
| 10 | [10-optional-plesk-git-composer.md](10-optional-plesk-git-composer.md) | backlog | Plesk Git / Composer evaluieren |
|
||||
| 11 | [11-boka-smtp-relay.md](11-boka-smtp-relay.md) | **medium** | boka-Apps über 0012.de-SMTP |
|
||||
| 12 | [12-monitor-php-token-check.md](12-monitor-php-token-check.md) | **medium** | HTTP-Zugriff auf `monitor.php` per Token |
|
||||
| 13 | [13-optional-plesk-cron-heartbeat.md](13-optional-plesk-cron-heartbeat.md) | backlog | Optional: separater Heartbeat-Cron `*/5` |
|
||||
|
||||
## Backlog (ohne Priorität)
|
||||
|
||||
Todo **10** — Plesk Git-Deploy und Composer; dokumentiert in [`../PLESK.md`](../PLESK.md), kein Blocker für 02–09.
|
||||
|
||||
Todo **13** — optionaler Heartbeat-Cron in Plesk; nicht nötig solange `monitor.php` alle 10 Min läuft.
|
||||
|
||||
Todo **11** — boka SMTP-Relay; abhängig von erledigtem **02**, kein Blocker für **03**.
|
||||
|
||||
## Empfohlene Reihenfolge
|
||||
|
||||
```
|
||||
01 → 02 → 05 → 03 → 06
|
||||
01 → 02 → 05 ✓ → 03 ✓ → 06
|
||||
↘ 04 ✓ (Push ingest.php)
|
||||
07 (wenn Domains feststehen)
|
||||
08 → 09
|
||||
|
||||
Reference in New Issue
Block a user