Repository navigation
Stop polling unregistered task families - #121
Conversation
rmcdaniel
left a comment
There was a problem hiding this comment.
Reviewed 3cfb56170418cffd618c9da296fd91eefd606fa8.
The production change is limited to poller eligibility. Workflow/query tasks require registered workflow handlers, activity tasks require registered activity handlers, and heartbeats/registration/shutdown remain active. run_until still replays an original workflow after another worker's activity completion and emits one terminal command without polling activities itself. Mixed workflow/activity workers retain both families.
All six new worker-entry regressions fail on the prior implementation. Focused worker/replay checks pass 287 tests with two existing skips, Ruff and mypy pass, and the corpus guard accepts the new executing replay fixture. Six real HTTP cases against immutable published Server 2.6.0 pass with zero unsupported-family requests, exact completed results and ordinary shutdown. That local run uses candidate SDK source, not a released fix.
Normal source CI, documentation and HTTP integration gates must all pass at this head before merge. Stable publication and actual installed-wheel qualification are separately tracked in #122 and remain required before #119 closes.
Problem
Refs #119. Python workers poll task families without registered handlers. Both activity-only and workflow-only workers make unnecessary HTTP requests. The same issue affects
run_until.Change and qualification
Only poll workflow/query tasks when workflow handlers are registered, and only poll activity tasks when activity handlers are registered. Preserve heartbeats, registration, mixed workers, update validation, service workflows and orderly shutdown.
Add regression coverage for both entry points and both empty-family directions. Qualify real workflow/activity execution and HTTP request counts against a published Server. A scoped stable patch and its actual published-worker verification are required before #119 closes.