Skip to content

crawler: interleave tiers before cutting the batch; non-hot tiers starved - #283

Merged
ralyodio merged 1 commit into
mainfrom
crawler-interleave-tiers
Nov 9, 2026
Merged

ralyodio merged 1 commit into
mainfrom
crawler-interleave-tiers

Conversation

@ralyodio

@ralyodio ralyodio commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Found while chasing why r/rss never got crawled: the tier quotas in dueFeeds were cut away by spreadHosts taking the first 900 of a tier-ordered 2,700 pool, so only the hot tier was ever crawled. Verified read-only against prod: before, r/rss not in batch; after, in batch.

🤖 Generated with Claude Code

…rved

dueFeeds returns the pool tier by tier (quota x OVERREAD each) and
spreadHosts took the first batchSize rows, so the hot tier alone filled
every 900-row batch and active/slow/dormant/archived were never read
while 383k rows were due. A subreddit queued at the front of the active
tier sat at 1,081 of 2,700 and was never crawled. interleaveTiers orders
rows by fractional position within their own tier, so any prefix keeps
the 40/30/18/10/2 split and first-in-tier rows stay first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 1bfc58d into main Nov 9, 2026
3 checks passed
@ralyodio
ralyodio deleted the crawler-interleave-tiers branch November 9, 2026 21:32
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