quantum-php / quantum-php/framework
Possibility to run defer tasks after response
@andrey-smaelov is already working on this.
Since Nov 1, 2024.
- Dominant language
- PHP
- Stars
- 36
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
Implement the ability to register and execute callbacks that run after the HTTP response is sent to the client, without blocking the request lifecycle.
This allows long-running or non-essential tasks (e.g. logging, sending emails, dispatching events) to be deferred, improving response time and user experience.
Acceptance Criteria:
-
Introduce a new internal hook named after_response (or similar).
-
Allow developers to register callbacks using HookManager::on('after_response', callable).
-
Ensure multiple parts of the codebase can register deferred tasks safely.
-
Execute all deferred callbacks after $response->send() in the lifecycle.
-
Wrap execution in try/catch to prevent deferred task failures from affecting app behavior.
-
Add config entry for after_response hook (optional, or register programmatically).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.