Skip to content

perf: Resume a paced crawl as soon as the request manager's ready_at passes - #2393

Merged
vdusek merged 3 commits into
apify:v2from
Mantisus:crawler-run-wake
Nov 6, 2026
Merged

vdusek merged 3 commits into
apify:v2from
Mantisus:crawler-run-wake

Conversation

@Mantisus

@Mantisus Mantisus commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

Description

When the request manager reports waiting with a ready_at, the crawler schedules a wake-up for that moment, so a paced crawl resumes on the manager's clock instead of on the autoscaled pool's next poll. This tightens the dispatch cadence for ThrottlingRequestManager cooldowns and crawl-delays. Only the earliest pending ready_at is kept, and a pending wake-up is dropped when the run ends.

Issues

✍️ Drafted by Claude Code

@github-actions github-actions Bot added the t-tooling Issues with this label are in the ownership of the tooling team. label Nov 3, 2026
@Mantisus Mantisus self-assigned this Nov 3, 2026
@Mantisus
Mantisus requested a review from vdusek November 3, 2026 22:37
@Mantisus
Mantisus marked this pull request as ready for review November 3, 2026 22:37
@vdusek vdusek changed the title feat(crawlers): Resume a paced crawl at the request manager's ready_at feat(crawlers): Wake the autoscaled pool when the request manager's ready_at passes Nov 5, 2026
@vdusek vdusek changed the title feat(crawlers): Wake the autoscaled pool when the request manager's ready_at passes perf: Resume a paced crawl as soon as the request manager's ready_at passes Nov 6, 2026

@vdusek vdusek left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I just changed the title to perf, since this doesn't add new functionality or touch the public API.

@vdusek
vdusek merged commit ba64206 into apify:v2 Nov 6, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace is_empty/is_finished with check_readiness() and add pacing signals to RequestManager

2 participants