The quick checks aren't a problem as they're hitting a cached API.
It's the 'full' checks that are the problem, as they make requests to Xenforo.
The solution would be to space out the requests more, and to sleep when a 429 is encountered then retry.
seems like a band-aid fix, and from what i understand any single thread request is quite heavy on your backend.
might be time to make my own heavily cached api that does full checks to f95zone slowly every now and then and keeps results to serve quickly to everyone.
would you be ok with something like this?
general idea im thinking of is:
- keep a server of mine monitoring the latest updates page
- when an update is up then full check it and save parsed data
- when a user asks for a thread info serve the cached info
- if the cached info is like more than 6 or 12 hours old, then recheck to f95zone
this way, each thread will be fetched from f95zone at most once per 6 hours, across whole f95checker userbase, since users dont reach out to f95zone anymore.
would make the dedicated checker api you made useless.
only thing that would reach to f95zone directly from users would be notification checking basically
for the record i have no clue when i will have enough time to implement this and let alone make it stable, but atleast havign a plan is a start