-
Notifications
You must be signed in to change notification settings - Fork 141
Send plugin names to Core #1157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| ) | ||
| .nexus_task_poller_behavior(conf.nexus_task_poller_behavior) | ||
| .plugins( | ||
| conf.plugins |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, something that will need some discussion here. This PR reports worker plugins. We should discuss whether that is really what we intend. Plugins which exist only in the client and not the worker will be completely invisible. That could potentially be changed here at least for plugins in clients used by workers, though not generally for any client. I think that was something we didn't really think through when we decided to go with heartbeat as a carrier for this information, but maybe we conclude that is fine.
Typescript will be a bit more complicated as well with its additional plugin types.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed offline, we will for now have both worker and client plugins and dedup names
Sushisource
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good to me, only thing is the default interval
Sushisource
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
…untime client identity requirement
c276572 to
e83a260
Compare
What was changed
Send plugin names over to core for worker heartbeating.
Updated Core to latest main, 9e9a461.
Updated test to validate replacing clients with a client from a different runtime is invalid.
Why?
Worker heartbeating
Checklist
Closes [Feature Request] Enable Worker Heartbeating #1196
How was this tested:
Added tests for plugin name propogation, and runtime options configuration
Note
Forwards worker plugin names to Core, introduces runtime heartbeat options, upgrades bridge to new temporalio core crates, and updates tests/CI accordingly.
pluginstotemporalio.bridge.worker.WorkerConfigand forward to Core asPluginInfo(for heartbeating).replace_clientreturn errors; PythonWorker.clientsetter now enforces same runtime.RuntimeOptions(telemetry +worker_heartbeat_interval_millis) and switchinit_runtimeto use it.Runtimeacceptsworker_heartbeat_intervaland passes options to bridge.temporalio-*crates (client/common/sdk-core) and bump deps (prost0.14,tonic0.14,opentelemetry0.31, etc.).Client.plugins.poe lintruns (after build) in CI jobs.Written by Cursor Bugbot for commit a4c50ee. This will update automatically on new commits. Configure here.