zackaj/laravel-debounce
Debounce Laravel jobs, notifications, and (Laravel 11+) Artisan commands to prevent spamming users and queues. Uses unique job locks + cache to delay execution until activity stops. Tracks each occurrence with request metadata (IP, user) and provides reporting.
app:cleanup) to avoid overlapping executions.For Executives: "This package lets us reduce queue noise by consolidating duplicate jobs/notifications into single executions, cutting unnecessary processing costs and improving user experience. For example, instead of sending 10 'new file' notifications in 5 seconds, we’ll send just one—saving queue resources and avoiding user fatigue. It’s turnkey with built-in tracking for debugging, and works seamlessly with our existing Laravel setup."
For Engineers: *"Laravel-debounce provides a clean facade/API to debounce jobs, notifications, and CLI commands using Laravel’s cache locks. Key benefits:
Debounce::job() or Debounce::notification()).$debounceable->getReport()..env or per-test.
Tradeoff: Reports are cache-dependent (lost on flush), but ideal for most use cases. Example: Debounce a 'file uploaded' notification with a 5-second delay per user to avoid spamming."*How can I help you explore Laravel packages today?