-
Notifications
You must be signed in to change notification settings - Fork 141
Enable Worker heartbeating, plumb plugin names to core, update Core to 45b1d7e #1818
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
1557d50 to
de87933
Compare
chris-olszewski
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.
Only required change is fixing up tests. Rest are light suggestions or questions.
packages/core-bridge/src/worker.rs
Outdated
| } | ||
| } | ||
| CompleteWfError::WorkflowNotEnabled => { | ||
| BridgeError::UnexpectedError(format!("{err}")) |
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.
No strong opinions on this 🤷
| BridgeError::UnexpectedError(format!("{err}")) | |
| BridgeError::UnexpectedError(err.to_string()) |
| .into_iter() | ||
| .map(|name| PluginInfo { | ||
| name, | ||
| version: String::new(), |
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.
Just for my own knowledge, is version from the past or not yet implemented?
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.
Good question, I don't know. haha. The API was originally implemented with version, but not sure what the intent was. Will follow up on this.
What was changed
WorkerTaskTypesbased on if workflows/activities/nexus handlers are registered to the workersdk-coreto45b1d7eWhy?
New feature!
Checklist
Closes [Feature Request] Enable Worker Heartbeating #1810
How was this tested:
Manually tested that heartbeats with a simple plugin from the worker and client both show up in plugins section of the worker heartbeat.
Also tested setting
workerHeartbeatInterval: nulldisables heartbeating for the workerNote
Adds configurable worker heartbeats, introduces explicit worker task type configuration, plumbs plugin names to Core, and updates bindings/tests accordingly.
worker_heartbeat_interval_millisfrom JS and setRuntimeOptions.heartbeat_interval.RuntimeOptions::try_intoreturns(telemetry, metrics, logging, worker_heartbeat_interval_millis).enable_non_local_activitieswithtask_types(enable_workflows,enable_local_activities,enable_remote_activities,enable_nexus).pluginsto Core asPluginInfo { name, version: "" }.WorkflowNotEnabled,ActivityNotEnabled,NexusNotEnabledtoUnexpectedError.newRuntimetakesruntimeOptions;RuntimeOptionsaddsworkerHeartbeatIntervalMillis.WorkerOptionsaddstaskTypesandplugins: string[].workerHeartbeatInterval(ms or null) and passed asworkerHeartbeatIntervalMillis.runtimeOptionsinstead oftelemetryOptionswhen creating the native runtime and metrics meter.taskTypesfrom registered workflows/activities/nexus; includepluginsnames in native options.Written by Cursor Bugbot for commit 826a363. This will update automatically on new commits. Configure here.