presseportale/config
Kevin Adametz 6a34ab48ee technik: Aufrufe über ein Ereignis-Log zählen statt im Request
Bisher lief pro Seitenaufruf ein UPDATE press_releases SET hits = hits + 1 im
Request. Auf der über 1 GB großen Tabelle blockiert dieser Schreibzugriff,
sobald dort eine Schemaänderung läuft — die wartenden Requests belegten dabei
PHP-FPM-Worker und DB-Verbindungen, bis die ganze Seite stand.

Der Request schreibt jetzt nur noch in die kleine Append-Tabelle
press_release_events, und selbst dabei wird jeder Fehler geschluckt und
gemeldet: Ein Aufruf-Zähler darf eine Seite niemals langsamer oder kaputt
machen. Die Summierung in press_releases.hits übernimmt gebündelt der
Scheduler.

Der Fortschritt läuft über eine Wasserstandsmarke (höchste bereits verbuchte
Event-ID) statt über einen Zwischenspeicher, damit bei einem Neustart kein
Aufruf verloren geht. Zähler und Marke werden je Durchgang gemeinsam
committet — sonst wäre nur der Durchgang wiederanlaufsicher, nicht der Abbruch
darin, und der nächste Lauf verbuchte dieselben Aufrufe doppelt. Eine Migration
setzt die Marke beim Deploy auf den Ist-Stand; ohne sie würde der erste Lauf
den gesamten Altbestand ein zweites Mal aufaddieren.

Weil das Log damit mit dem Traffic wächst und als einzige Log-Tabelle des
Systems keine Bereinigung hatte, begrenzt press-releases:purge-events es auf
einen Aufbewahrungszeitraum (Default 395 Tage = 13 Monate, damit der
Vorjahresmonats-Vergleich möglich bleibt). Gelöscht wird ausschließlich
unterhalb der Wasserstandsmarke — alles darüber ist noch nicht in hits verbucht
und wäre sonst dauerhaft verloren. Fehlt die Marke, bricht der Lauf ab, statt
zu raten.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 11:05:28 +00:00
..
admin_performance.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
app.php Zeitzone Europe/Berlin: unnoetige UTC-Konvertierung entfernt 2026-06-18 12:40:19 +00:00
auth.php Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
billing.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
blacklist.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
blade-icons.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
cache.php first commit 2025-10-20 17:53:02 +02:00
cashier.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00
countries.php Rechnungsadressen der Bestandskunden aus dem Legacy-Archiv uebernehmen 2026-07-06 12:19:50 +00:00
credits.php Boost-Slot-Grenzen (5/3) + Kategorie-Boost zum halben Satz 2026-07-13 12:28:03 +00:00
database.php technik: Volltext-Indizes von press_releases in eine eigene Suchtabelle auslagern 2026-09-01 11:04:43 +00:00
domains.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
filesystems.php first commit 2025-10-20 17:53:02 +02:00
fortify.php first commit 2025-10-20 17:53:02 +02:00
legal.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
livewire.php first commit 2025-10-20 17:53:02 +02:00
logging.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
mail.php first commit 2025-10-20 17:53:02 +02:00
market.php Spoke-Frontend-Audit: Fake-Inhalte raus, Newsletter-Rueckbau, echte Boersendaten, EN-Lokalisierung 2026-07-06 13:36:23 +00:00
models.php 29-05-2026 Optimierungen Fixes am Code 2026-05-29 12:42:05 +00:00
monitoring.php Monitoring (R5.3): Betriebs-Alerts fuer Scheduler-/Queue-Ausfaelle 2026-07-09 15:34:40 +00:00
newsletter.php admin: Newsletter mit Abmelde-Liste, Follow-up-Filtern und gedrosseltem Versand 2026-07-22 12:38:47 +00:00
permission.php 29-05-2026 Optimierungen Fixes am Code 2026-05-29 12:42:05 +00:00
press_releases.php technik: Aufrufe über ein Ereignis-Log zählen statt im Request 2026-09-01 11:05:28 +00:00
purifier.php admin: internes Newsletter-Modul mit Filtern, Protokoll und Abmeldung 2026-07-21 09:26:57 +00:00
queue.php first commit 2025-10-20 17:53:02 +02:00
salutations.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
sanctum.php 29-05-2026 Optimierungen Fixes am Code 2026-05-29 12:42:05 +00:00
scoring.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
services.php Umami-Webanalyse eingebaut, bis zum Go-Live deaktiviert 2026-07-06 08:56:14 +00:00
session.php first commit 2025-10-20 17:53:02 +02:00
vite.php 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00