-
New Feature
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
We often want fast access to metadata related to items in the database. Some examples:
- MetaData from musicbrainz for recording page
- Artist and Title for dataset editor
- Artist mbid for artist filtering during evaluation
For the dataset/evaluation examples we need this data in real-time during page load. During evaluation we need to get the number of unique artists in each class to present the user with a cutoff of class size during training.
As we add each item, we should pass off to a cache_store method which gets this data (perhaps in a worker process - celery?)
When we need it, we load in bulk and return it. If we don't have some data we should indicate this in the return value and trigger the worker again. The frontend can try again after a pause.
For now the cache store worker could use the API, but if this is too slow then we could replace it with direct mb database lookup.
We need to store some 'state' in the datasets. e.g. we can't let the user configure the evaluation until we have all of the artist information. If the upload was done by csv, this could take a while to load.
If items or classes are deleted from the dataset we should cancel the lookup jobs.
- is a dependency of
-
AB-119 cancel outstanding lookup events when going away from a class
- Open