Comments (9)
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.
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.
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.
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.
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.
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.
And done!
from evething-2.
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.
Tremendous
from evething-2.
Related Issues (10)
- Server Status doesn't update from ESI
- Asset tab values aren't correct
- Add toggle option to show/hide jump clones when making a character public
- Completed Market Orders Do Not Get Removed HOT 2
- Private contracts sometimes display as Public on the Contracts page HOT 1
- Training a skill not present in SDE aborts character update HOT 2
- Using /latest/ for ESI results in broken code when new endpoints versions are promoted HOT 1
- Connect new character results in JSON error HOT 1
- Doesn't work under FreeBSD + apache 2.4 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from evething-2.