GithubHelp home page GithubHelp logo

403 loop about evething-2 HOT 9 CLOSED

skyride avatar skyride commented on September 13, 2024
403 loop

from evething-2.

Comments (9)

skyride avatar skyride commented on September 13, 2024

Which task is this occurring on? CharacterInfo hits the wallet endpoint as its first request because it's nice and simple to avoid this.

I pushed a quick fix that should solve your issue, but I'm curious how it ended up there to begin with. If you could link a stack trace that would be dope.

from evething-2.

moarlongcatplox avatar moarlongcatplox commented on September 13, 2024

I'm not certain what the particular task is. The logs I put in there are from running celery with the debug flag so I could watch/log everything it's doing. With a brand new character added to the app, it starts pulling the skills, then moves on to assets, where I assume this is coming from. I'll figure out how to get you a stack trace (as I said, I know jack about python development atm). I'll post it here once I can.

from evething-2.

skyride avatar skyride commented on September 13, 2024

Huh. Has to be CharacterInfo then. Even if you can just get me the full log of the endpoints its hitting that'd work.

If you turn on the Debug = True in local_settings, the ESI API will print the full URL for every endpoint it hits.

from evething-2.

moarlongcatplox avatar moarlongcatplox commented on September 13, 2024

Couple of things: I'm not sure where to find the full url for each endpoint, unless it's the ones in the celery logs. I went ahead and just attached the whole log that I got prior to applying your fix. There are a couple of times when a 403 is returned but the jobs continue. For some reason, when it gets to that particular station, it just continuously requests, gets 403'd, then tries to get a new token.

I'll try your fix now, but I wanted to submit so you'd have the information.

Celery debug log with all the endpoints: celerylog.txt

from evething-2.

moarlongcatplox avatar moarlongcatplox commented on September 13, 2024

Unfortunately, even after applying the fix in esi.py, it continues to do the same thing. When it gets to that particular structure (1021542958222), there's just an endless loop of 403, refresh token, 403,

from evething-2.

skyride avatar skyride commented on September 13, 2024

So looking at this log, it's not actually an infinite loop. What's going on is it's running into that for every asset you have in that structure, so every asset you have there generates 2 blocking API requests and you have a lot of assets there so it's reallllly slow.

That's easily fixed, I'll just go implement a local cache on the ESI library and it should solve the problem.

from evething-2.

skyride avatar skyride commented on September 13, 2024

And done!

from evething-2.

moarlongcatplox avatar moarlongcatplox commented on September 13, 2024

Indeed. I let it run all the way, rather than stopping it. It seemed like it was making the same request repeatedly, so I stopped it rather than getting rate-limited. Apparently that wasn't going to be an issue. Fix seems good so far!

from evething-2.

skyride avatar skyride commented on September 13, 2024

Tremendous

from evething-2.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.