Deferred Callbacks
This module lets you schedule PHP functions to run after a web page has finished loading, without delaying the user. It's useful for tasks like sending emails or updating analytics that don't need to happen immediately. The module aims to improve user experience by not slowing down page delivery.
Deferred Callbacks provides a simple and reliable way to defer execution of PHP callbacks until after the HTTP response has been sent to the client.
The module allows developers to register callbacks during request handling and have them executed on the kernel.terminate event, ensuring that non-critical operations do not block page delivery or degrade user experience.
It is ideal for lightweight, post-response tasks such as sending emails, logging, analytics tracking, cache warming, and other side effects that should not delay the response.
Deferred Callbacks integrates cleanly with Drupal’s service container, supports callback prioritization and naming for debugging, and safely isolates failures by catching and logging exceptions.
⚠️ Important: True asynchronous execution requires PHP-FPM or LiteSpeed. On Apache with mod_php, callbacks will execute synchronously before the response is sent.
This module is not a replacement for the Queue API and should not be used for long-running or resource-intensive jobs.