Closed (fixed)
Project:
Postmark Webhooks
Version:
1.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Reporter:
Created:
6 Sep 2026 at 16:07 UTC
Updated:
21 Sep 2026 at 04:20 UTC
Jump to comment: Most recent
Each cron invocation currently removes at most 250 expired history rows. At higher intake rates the backlog can grow faster than ordinary cron removes it, a limitation already documented in the README.
Add a bounded maintenance command or configurable time/row budget that can drain several cleanup batches, plus backlog/oldest-expired visibility. Keep conservative defaults and durable suppression/audit protections.
Optional follow-up after stable release; not a blocker for #3621224: Complete the 1.0.0 stable release verification gates. Builds on #3621134: Bound cron cleanup and index normalized suppression lookups; the completed original issue remains fixed.
Comments
Comment #4
jmcerdaLanded on 1.x-dev. Cron still defaults to one 250-row batch. Operators can raise event_retention_batches, set a wall-time budget, or run drush postmark-webhooks:retention-drain. Overlapping cron and CLI share a lock. Health reports oldest expired receipt time via an indexed one-row probe. Durable suppression and operator audits are not deleted. Throughput assumptions remain in docs/retention-benchmark.md. This is not a stable-release gate.