Bläddra i källkod

Taak 56: cron op 180 dagen (Bob) + impact gemeten; description nog op 360

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 14 timmar sedan
förälder
incheckning
4ac54ae051
1 ändrade filer med 15 tillägg och 8 borttagningar
  1. 15 8
      TASKS.md

+ 15 - 8
TASKS.md

@@ -837,14 +837,21 @@ Bob's stuk.** De loginpagina zelf is geverifieerd tot aan het invoerveld.
   `FavorietenCopy`, `HorecagelegenhedenOverzichtCopy/Copy2/Copy2Copy`,
   `Kanweg`, `KanwegHorecagelegenhedenOverzichtSortPage`. `dart analyze` op
   die export: 0 errors.
-- **Taak 56 · Opruim-cron: description zegt 30 dagen, code doet 360 (Bob's
-  besluit 2026-09-15: na livegang).** In
-`custom_cronapi()` staat *"after 30 days"*, in
-`custom_delete_expired_events_callback()` staat `$date->modify('- 360 days')`.
-Met 16.065 events in de voorraad is dat geen detail. Er zit bovendien een
-`range(0, 500)` op: max 500 verwijderingen per cronrun, wat bij de huidige
-importsnelheid mogelijk niet meer volstaat. Besluit welke van de twee klopt,
-maak description en code gelijk, en hernoem `$date_after_30`.
+- **✅ Taak 56 · Opruim-cron — GROTENDEELS AF (Bob, 2026-09-19).** Grens gezet op
+  **180 dagen**, `range` van 500 naar **1000**, en `$date_after_30` hernoemd naar
+  `$date_events_after`.
+  🔴 **Eén restpuntje: de `description` in `custom_cronapi()` zegt nog "after 360
+  days"** — dat was nu juist het punt van deze taak. Naar *"after 180 days"*.
+  **Impact gemeten door Claude op productie (2026-09-19, 17.123 unieke events via
+  `datum_iso`):** 6.728 toekomstig · 8.107 jonger dan 180 dagen · **2.251 tussen
+  180 en 360 dagen** · 14 ouder dan 360. Die 2.251 worden dus bij de komende runs
+  alsnog opgeruimd; met 1000 per run en één run per dag is dat **~3 dagen**.
+  ⚠️ Twee dingen om in de gaten te houden: (1) mijn telling gebruikt de
+  **startdatum** (`datum_iso`), terwijl de cron op `field_date_value2` (de
+  **eind**datum) filtert — voor meerdaagse events ligt het echte aantal dus iets
+  lager; (2) `node_delete_multiple()` laadt in D7 elke node en draait alle hooks,
+  dus de eerste drie runs zijn fors zwaarder dan wat deze cron ooit deed (er
+  stonden maar 14 kandidaten). Kijk of hij niet in een timeout loopt.
 - **AdMob: `Show Test Ads` uitzetten** (App Settings → AdMob). Staat nu AAN,
   dus de banner op `pUitgaanPage` toont testadvertenties en levert niets op.
   De GDPR-consentflow staat sinds 2026-09-15 wél goed (`adMobRequestConsent()`