-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: get strategies
data from DB directly
#718
base: master
Are you sure you want to change the base?
Conversation
const results = new Map( | ||
( | ||
await db.queryAsync(` | ||
SELECT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be an heavy request isn't? How long does it take to resolve? How often is it called?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~40ms to resolve, on my dataset of 13k spaces.
It's still not 100% live query, as it's only run along the fetch strategies query from score url, so once every 1min
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want more refactoring, and use 100% live counters (and not cached for 1min) ?
This will bring more consistency, as no other counters are cached and lagging behind.
By enforcing only known strategies when submitting via sequencer, we could also get rid of the condition, checking if the strategy is a valid one from score-api, and have true live data from the strategies operation. (can also get rid of the /helpers/startegies.ts file)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer not using such query as live query, also not sure how you would get ride of strategies helpers, this is loading strategies metadata that are not available from the hub
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
true, forgot about the other strategies data. We get less than 1 request/min on the hub for the strategies object, should have very minimal impact on performance
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Takes around 2.8s on prod, will increase when we get more space 🤔
Return to WIP, will add some cache and update strategy |
🧿 Current issues / What's wrong ?
The
strategies
query on the hub is using data from space's cache.This create refresh lag, and dependency on the
space
cache object.💊 Fixes / Solution
Use a SQL query to get strategies data from the database
🚧 Changes
strategiesObj
global object. The data can already be queried using a simplefind
on thestrategies
global variable.🛠️ Tests