Three async patterns I used building a broken-link checker
A broken-link checker is the kind of project that begs for async — you're waiting on hundreds of HTTP responses, and doing that sequentially is painfully slow. I built link_checker, an async crawler that checks every link on a website, and along the way I leaned on three asyncio patterns that keep showing up in real-world async Python code.