v1.2.3 “Stand” – Some changes: 1. Isolate RequestContext per coroutine and 2. Make outbound HTTP truly non-blocking #9
greenarmor
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
To go straight to the main goal (creating a truly fast and asynchronous PHP ) some changes have been applied:
1. Isolate RequestContext per coroutine
Added a coroutine-aware RequestContextScope service that persists request metadata in the current coroutine while providing a synchronous fallback.
Registered the scope in the application container, seeding it for each request, and updated the logging processor to pull request details from the coroutine-local scope.
Updated HTTP middleware to read and write request metadata through the new scope and refreshed tests to validate scope-based context resolution.
Commit 9177a48
2. Make outbound HTTP truly non-blocking
Enabled OpenSwoole coroutine hooks at the start of the HTTP server bootstrap to keep blocking I/O cooperative within workers.
Applied the same coroutine hook guard in the Bamboo CLI launcher and HTTP benchmark harness so command-line workflows benefit from cooperative scheduling.
Documented the requirement to keep coroutine hooks enabled in the HTTP client configuration guide for deployers.
Commit 2b3cfa5
This discussion was created from the release v1.2.3 “Stand” – Some changes: 1. Isolate RequestContext per coroutine and 2. Make outbound HTTP truly non-blocking.
Beta Was this translation helpful? Give feedback.
All reactions