From 610d7b4806d031fed782945d02c08ce670993773 Mon Sep 17 00:00:00 2001 From: jehrr <79864894+jehrr@users.noreply.github.com> Date: Thu, 22 Oct 2026 22:26:55 +0000 Subject: [PATCH] Retry a throttled page turn once after a 30-60 s pause; canary walk budget 15 MB A press for the next page that gets no grid back (the site's /graphql answered 429 with no Retry-After) is now retried once in all three engines, after a random pause of 2/3 to 4/3 of --throttle-wait-seconds (default 45, 0 = off), in the same browser session and exit. The proxy budget is checked before the pause and before the second press. A second failure ends the run as before: partial, exit 6, next_page_throttled. The listing sidecar records throttle_retries. The canary's three-page walk passes --proxy-budget-mb 15 (the scraper's default stays 10): with --block-media the 2026-10-22 walk used 8.7 MB for pages 1 and 2 at 50 of 50 cards each. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01CKsd7q25N19WzUZjrAdzx8 --- .github/proxy_traffic.py | 14 +- .github/workflows/canary.yml | 14 +- CHANGELOG.md | 34 +++- README.md | 24 ++- TROUBLESHOOTING.md | 12 +- page_flow.py | 114 +++++++++++- playwright_scraper.py | 29 ++- puppeteer_scraper.py | 31 +++- selenium_scraper.py | 40 +++- smoke_test.py | 346 ++++++++++++++++++++++++++++++++++- 10 files changed, 610 insertions(+), 48 deletions(-) diff --git a/.github/proxy_traffic.py b/.github/proxy_traffic.py index a0ad740..2330de6 100644 --- a/.github/proxy_traffic.py +++ b/.github/proxy_traffic.py @@ -5,12 +5,16 @@ Reads `.latest_attempt.meta.json` (written on every metered run, rows or not), else `.meta.json`, and appends - **