Skip to content

feat(worker): worker transport on Temporal sdk-core via PHP FFI, without RoadRunner - #830

Draft
xepozz wants to merge 3 commits into
masterfrom
feature/temporal-php-no-roadrunner-f8db35
Draft

xepozz wants to merge 3 commits into
masterfrom
feature/temporal-php-no-roadrunner-f8db35

Conversation

@xepozz

@xepozz xepozz commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

What was changed

Rust bridge (core/bridge), CoreWorkerFactory with a process supervisor, Fibers for activities, replayer and a gRPC client without ext-grpc. 45-47 % less worker CPU than RoadRunner; details, limits and benchmarks in core/REPORT.md.

Why?

Checklist

  1. Closes

  2. How was this tested:

  1. Any docs updates needed?

@xepozz
xepozz force-pushed the feature/temporal-php-no-roadrunner-f8db35 branch 7 times, most recently from 76182e2 to ec7f2ec Compare October 5, 2026 18:38
The server closes an expired call with RST_STREAM(CANCEL): ext-grpc saw CANCELLED,
sdk-core saw UNAVAILABLE and retried with a fresh timeout.
@xepozz
xepozz force-pushed the feature/temporal-php-no-roadrunner-f8db35 branch 3 times, most recently from 771f86f to 283fa46 Compare October 5, 2026 21:22
xepozz added 2 commits October 6, 2026 10:10
Time skipping, second-boundary and slow-runner races; Server 1.32 drops empty search attributes.
Temporal CLI ^1.9 and RoadRunner ^2025.1.15 in dload.xml.
Rust bridge (core/bridge), CoreWorkerFactory, replayer, and the ext-grpc API on the bridge (core/grpc) for clients without ext-grpc.
Run it as one PHP process, or under the standard RoadRunner with the service plugin (one process per TEMPORAL_CORE_ROLE).
Usage, configuration and limitations in core/README.md.
@xepozz
xepozz force-pushed the feature/temporal-php-no-roadrunner-f8db35 branch from 283fa46 to eeb110b Compare October 6, 2026 06:12

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant