tjovaisas/delayed-event-bundle
Schedule Symfony events to dispatch later instead of immediately. This bundle queues delayed events and processes them when due, useful for reminders, time-based workflows, and background follow-up actions.
postFlush event — not Eloquent, not Laravel. If our stack is Laravel, this is a non-starter and should be closed out of the evaluation backlog rather than carried.Adopt only if all of the following hold: we are on Symfony with Doctrine ORM; we need post-flush dispatch and nothing more; we accept the dependency is effectively unmaintained (single star, zero dependents, last release February 2022, no evidence of ongoing support); and we are prepared to vendor or fork it.
Look elsewhere — or build in-house — when:
Realistically, the pattern is 50–100 lines of code: listen to postFlush, drain a collected event list through the dispatcher. The recommendation is to reimplement internally and keep ownership.
To executives: We evaluated a package that fixes a specific class of embarrassing bug — telling a customer their order shipped, or firing a webhook, for a record that was subsequently rolled back. The problem is real and worth fixing. The package itself is not the answer: it's a near-abandoned, single-maintainer Symfony component with no adoption, it doesn't apply to our Laravel stack, and it's small enough that our own engineers can reproduce the behavior in roughly a day with full test coverage and no external dependency. Net recommendation: fix the problem, skip the dependency. Cost is minimal; the risk of taking the dependency is not.
To engineering: It's a Symfony bundle that hooks Doctrine's postFlush and replays collected events through the Symfony event dispatcher so side effects only fire after commit. Useful as a design reference. We should implement the equivalent ourselves — it's a small listener plus a collector service, it lets us control ordering and error handling, and it avoids pinning us to an unmaintained package last released in 2022. If we want durability beyond "after commit," we should scope a proper transactional outbox on the roadmap instead.
How can I help you explore Laravel packages today?