What problem does it solve? Building distributed web crawlers usually requires heavy frameworks like Scrapy with rigid callback chains, forced project structures, and limited concurrency. This Skill lets you turn any Python function into a distributed crawling task with one @boost decorator, gaining queue scheduling, retries, deduplication, and QPS control without framework lock-in. ## Core Features & Use Cases - Function-level scheduling: Decorate any function with @boost(BoosterParams(...)) to get distributed consumption, ACK-based reliability, function-level retries, and precise QPS rate limiting across processes and machines. - Three crawling modes: Use pure @boost with any HTTP library, the built-in funspider module (SimpleSpiderClient, AsyncSpiderClient, SpiderItem ORM with upsert), or the boost_spider package (RequestClient, DatasetSink) — freely mixable. - Parameter-based deduplication: do_task_filtering removes duplicate tasks by function arguments with configurable expiration, avoiding noisy URL fingerprint issues. - Use Case: Build a news crawler where a list-page function pushes detail URLs to a second queue, a detail function parses and upserts rows into MySQL via SpiderItem, and an async function fetches comments — all started with one BoostersManager.consume_group call. ## Quick Start Ask the AI to write a funboost distributed crawler that fetches a list page, pushes detail URLs to a second queue, parses them with funspider, and upserts results into MySQL.