Skip to content

Replace the local pool scaler with statically started threads - #478

Closed
hermabr wants to merge 1 commit into
remove-wire-lease-idsfrom
local-pool-static-threads
Closed

Replace the local pool scaler with statically started threads#478
hermabr wants to merge 1 commit into
remove-wire-lease-idsfrom
local-pool-static-threads

Conversation

@hermabr

@hermabr hermabr commented Aug 1, 2026

Copy link
Copy Markdown
Owner

The dynamic scaler (scale thread, polling interval, failed-thread
bookkeeping, restart budget, idle timeouts forcing workers to exit and
be recreated) was built for the HTTP era when idle workers polled. An
idle WebSocket worker is just a blocked thread, so start max_workers
threads once, keep them connected with no idle timeout, and let the
server closing the connection end them.

A crashed worker thread now fails the run immediately: job failures are
already caught inside the worker loop, so a thread-level crash means a
furu bug, not a job problem.

The dynamic scaler (scale thread, polling interval, failed-thread
bookkeeping, restart budget, idle timeouts forcing workers to exit and
be recreated) was built for the HTTP era when idle workers polled. An
idle WebSocket worker is just a blocked thread, so start max_workers
threads once, keep them connected with no idle timeout, and let the
server closing the connection end them.

A crashed worker thread now fails the run immediately: job failures are
already caught inside the worker loop, so a thread-level crash means a
furu bug, not a job problem.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

hermabr commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

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