monitor/api/tests/Unit
fds2610-bot ad14447092 Fehlgeschlagenen Codeberg-Sync zeitnah wiederholen statt bis zum naechsten Intervall zu warten
Auf der Produktionsmaschine traten vereinzelt Timeouts nach codeberg.org auf
("Operation timed out after 15003 milliseconds with 0 bytes received"), waehrend
die Verbindung sonst in ~0,1s antwortet.

Bisher fiel der Dauerlaeufer nach so einem Fehlschlag in den regulaeren Takt
zurueck. Weil SyncTrigger::consume() die Webhook-Anforderung schon vor dem Lauf
quittiert, war eine per Webhook angeforderte Aktualisierung damit verloren und
kam erst bis zu MONITOR_SYNC_INTERVAL Sekunden spaeter - genau die Verzoegerung,
die der Webhook abschaffen sollte.

Neu wird der naechste Versuch nach einem Fehlschlag vorgezogen: 5s, 10s, 20s, …
gedeckelt auf das regulaere Intervall (Sync\SyncSchedule). Ein kurzer Aussetzer
ist damit binnen Sekunden ueberstanden, eine laengere Codeberg-Stoerung laeuft
trotzdem nicht in einen Dauerbeschuss. Nach einem erfolgreichen Lauf gilt sofort
wieder das regulaere Intervall.

Die Wartezeit-Berechnung liegt in einer eigenen Klasse, weil die Schleife in
bin/sync-codeberg.php selbst nicht testbar ist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 21:29:20 +02:00
..
Auth Codeberg-Webhook fuer Sofort-Sync statt Warten auf den Polling-Lauf 2026-07-29 21:04:06 +02:00
Controller Codeberg-Webhook fuer Sofort-Sync statt Warten auf den Polling-Lauf 2026-07-29 21:04:06 +02:00
Db Phase 1 der Neuausrichtung: REST-API fuer Tickets/Events/Systeme/KPIs/Agenten 2026-07-27 19:38:52 +02:00
Http Phase 3-5 der Neuausrichtung: Board/Monitor-Wand live, SSE-Push, Agenten-Animation 2026-07-28 17:50:44 +02:00
Realtime Phase 3-5 der Neuausrichtung: Board/Monitor-Wand live, SSE-Push, Agenten-Animation 2026-07-28 17:50:44 +02:00
Repository Agent-Praesenz serverseitig berechnen (is_present-Feld statt Client-Zeitarithmetik) 2026-07-29 18:25:01 +02:00
Sync Fehlgeschlagenen Codeberg-Sync zeitnah wiederholen statt bis zum naechsten Intervall zu warten 2026-07-29 21:29:20 +02:00
ApplicationTest.php Codeberg-Webhook fuer Sofort-Sync statt Warten auf den Polling-Lauf 2026-07-29 21:04:06 +02:00
ConfigTest.php Phase 3-5 der Neuausrichtung: Board/Monitor-Wand live, SSE-Push, Agenten-Animation 2026-07-28 17:50:44 +02:00