Public Access
fix(speedrun): pause queue on 429/420 instead of dropping it
speedrun.com returns 429 or 420 when we ask too fast. These were counted as errors: 3 in a row dropped both queues. Now the thread pauses and retries the same game. Rate: 1 request per 2 s. Refs #48
This commit is contained in:
1 parent
9efed0ab1d
commit
b1aaec0615
7 files changed
+238
-8
No files matched your search
@@ -72,7 +72,9 @@ To Be Played is split into three repositories:
|
||||
least one verified run. An edition that finds nothing tries its IGDB parent game with the parent's year, else its
|
||||
name without an edition suffix. Several same-name games and no year to decide: no link. The game detail returns
|
||||
the speedrun.com link as `speedrunUrl`. speedrun.com has no Steam or IGDB link and no key, so one queue works for
|
||||
all users, with up to 3 requests per game and 1 request per second; a result is kept 30 days. Migration V47 asks
|
||||
all users, with up to 3 requests per game and 1 request every 2 seconds; a result is kept 30 days. A rate limit answer
|
||||
(429 or 420) pauses the queue (its Retry-After, else 1 min doubling up to 30 min) and asks the same game again; the
|
||||
queue is never dropped for it. Migration V47 asks
|
||||
every stored match again once at boot, behind user requests; links set by an auditor are never touched.
|
||||
- **Achievements**: after every library sync a background job fetches the achievement schema of each owned game
|
||||
and the user's unlocks of each game whose playtime changed. One Steam call per second, so user requests keep half
|
||||
|
||||
Reference in new issue
Block a user