SHARDING
why big jobs were timing out — in ~3 min
A job can be up to 1,000,000 URLs
👤
customer
🗄️
database
every URL must be saved before we can say “got it”
Today: one lane
0s
deadline · 60s
✗ timed out
100k URLs · ~100s · over the limit
Spread across 16 lanes
0s
deadline · 60s
✓ done
same 100k · ~6s · well inside the limit
The trade-off


reading results back now checks every lane & merges — a small tax
So: spread only when it pays
small job · one lane · no tax
large job · many lanes
And the very largest?
👤
customer
🗄️
fills in background
✓ accepted instantly
1M still nears the limit — so accept now, save in the background (next step)
Spread big jobs across lanes.
Fix the timeouts.
conveyor · PR #117
tap right ▸ next · left ◂ back · center ↺ replay