-
fix(runner): harden catalogue scrape against 429s; disable sourcemap upload
Some checks failedRelease / Test backend (push) Successful in 29sRelease / Check ui (push) Successful in 43sCI / Test backend (pull_request) Successful in 28sRelease / Docker / caddy (push) Successful in 1m8sCI / Docker / caddy (pull_request) Failing after 39sCI / Check ui (pull_request) Successful in 55sRelease / Docker / runner (push) Successful in 2m22sRelease / Docker / ui (push) Successful in 2m20sCI / Docker / backend (pull_request) Successful in 2m32sCI / Docker / ui (pull_request) Successful in 1m28sCI / Docker / runner (pull_request) Successful in 2m25sRelease / Docker / backend (push) Successful in 2m33sRelease / Gitea Release (push) Failing after 2sreleased this
2026-03-28 16:28:36 +05:00 - scraper.go: ScrapeCatalogue now uses retryGet (9 attempts, 10s base) +
500–1500ms inter-page jitter instead of bare GetContent. ScrapeMetadata
also switched to retryGet so a single 429 on a book page is retried rather
than aborting the whole refresh. - catalogue_refresh.go: per-book delay is now configurable
(RUNNER_CATALOGUE_REQUEST_DELAY, default 2s) + up to 50% random jitter
applied before every metadata fetch. Only metadata is scraped here —
chapters are fetched on-demand, not during catalogue refresh. Progress
logged every 50 books instead of 100. - config.go / runner.go / main.go: add CatalogueRequestDelay field wired
from RUNNER_CATALOGUE_REQUEST_DELAY env var. - release.yaml: comment out upload-sourcemaps job and remove it from the
release needs; GlitchTip auth token needs refreshing after DB wipe.
Downloads
- scraper.go: ScrapeCatalogue now uses retryGet (9 attempts, 10s base) +