GuardianTheater / guardian-theater-indexeddb

https://guardian.theater
11 stars 0 forks source link

Xbox Clip API overloaded, try again later #69

Open Cutsdeep opened 2 years ago

Cutsdeep commented 2 years ago

Hi there, couldn't find this issue in the list, but i constantly get this error after making some progress through the clip queue (in Australia, if that makes a difference). usually takes about 4-5 manual soft resets to get through all the clips, maybe a "retry until complete' system could be implemented?

chrisfried commented 2 years ago

When that error procs, it means you've been rate limited by the Xbox API. Retrying immediately is not going to help, you should genuinely try again later to give it time to cool off.

Cutsdeep commented 2 years ago

hmm, that's odd, because retrying will progessively get through the whole queue. i often also get this error right at the start of the queue, why would they rate limit me so early?

TravisCalder commented 2 years ago

It seems like this error would be pretty much guaranteed for anyone with much playing history.

It's not as simple as "just retry later" if I have over 800 clips for it to scrub because trying again later is just going to rate-limit me again, so now I have to manually manage periodically retrying until it manages to process the entire list.

Wouldn't it work to rate-limit processing of the xbox clips on your end? Process them slower so as to avoid the rate-limit, then add in a cooldown-and-retry mechanic, and perhaps give a message or tooltip to explain why processing XBox videos is so slow. This way as a user I can accept that it'll take a while, but I know it will eventually finish.

chrisfried commented 2 years ago

The thing is, I do limit it on the front end. There are tiers to the rate limit, and I slow down the requests appropriately as the API warns me about entering each tier.

Each tier has a harsher rate limit and a longer cooldown time. I stop short of the harshest tier to avoid extra long cooldowns. What’s frustrating is that sometimes it ramps up the tiers faster than it claims it will, resulting in hitting the harshest cap quickly and stopping the process to let it cool down.

The site remembers which user it has checked when, so trying again later should pick up where it left off. Unless you hit the Hard Reset button, that will start it again from the top.

I’ll grant you that clearer messaging would help.

TravisCalder commented 2 years ago

Ah, that's a really rough technical problem. Fair enough, I was hoping some form of auto-managing the rate would help but it seems like I'll just have to check and click the tab periodically lol.

The site does do an excellent job of picking up where it left off, it just took a couple hours of managing the tab which was a bummer. Still a great tool though, found some quality clips.

Thanks for the detailed answer though.

On Thu, May 12, 2022 at 11:58 AM Chris Fried @.***> wrote:

The thing is, I do limit it on the front end. There are tiers to the rate limit, and I slow down the requests appropriately as the API warns me about entering each tier.

Each tier has a harsher rate limit and a longer cooldown time. I stop short of the harshest tier to avoid extra long cooldowns. What’s frustrating is that sometimes it ramps up the tiers faster than it claims it will, resulting in hitting the harshest cap quickly and stopping the process to let it cool down.

The site remembers which user it has checked when, so trying again later should pick up where it left off. Unless you hit the Hard Reset button, that will start it again from the top.

I’ll grant you that clearer messaging would help.

— Reply to this email directly, view it on GitHub https://github.com/GuardianTheater/guardian-theater-indexeddb/issues/69#issuecomment-1125275111, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG6A46CDATITUA5OANPIBTVJVBD7ANCNFSM5SN4SDQQ . You are receiving this because you commented.Message ID: @.*** com>