Repository navigation
Conversation
is_finished_function only when AutoscaledPool is idleis_finished_function only when AutoscaledPool is idle
Mantisus
force-pushed
the
pool-optimization
branch
from
October 15, 2026 18:02
a41babf to
23b7df2
Compare
is_finished_function only when AutoscaledPool is idleis_finished_function only when AutoscaledPool is idle
Mantisus
force-pushed
the
pool-optimization
branch
from
October 16, 2026 10:51
23b7df2 to
1ed3a76
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
AutoscaledPoolnow callsis_finished_functiononly when none of its own tasks are running and it can't start a new one, either because no task is ready or because a shared concurrency system has no free capacity. Before, it was called on every loop iteration, even with tasks in flight.is_finished()every half second during a crawl, so storage backends get fewer calls.is_task_ready_functionalways resolves toTrueno longer finishes. It has to resolve toFalseonce the work runs out. The upgrade guide covers this.crawler.stop()now applies only to the current run. A crawler that was stopped once used to end every laterrun()immediately.stop()or reachingmax_requests_per_crawl, the crawler logs once that it takes no new requests and again when the remaining requests have finished. The stop reason no longer ends with a double period.Issues
ConcurrencySystemto share one concurrency budget between crawlers #2322