diff --git a/fetcher/jobs.py b/fetcher/jobs.py index 3450a2e..a93d198 100644 --- a/fetcher/jobs.py +++ b/fetcher/jobs.py @@ -11,6 +11,38 @@ _log = logging.getLogger('fetcher_jobs') _log.addHandler(logging.NullHandler()) +@django_rq.job('high') +def load_release_cover_art(release): + """Carga en cache el cover art de una release""" + mbid = release + if isinstance(release, dict): + mbid = release.get('id') + + if cache.ttl(f'release_cover_art_{mbid}') is None: + _log.info('El cover art ya estaba guardado') + return + + cover_art = mb.get_release_cover_art(mbid) + cache.set(f'release_cover_art_{mbid}', json.dumps(cover_art), timeout=None) + _log.info('Cover art de release %s almacenado en cache', mbid) + + +@django_rq.job('high') +def load_release_group_cover_art(release_group): + """Carga en cache el cover art de un release group""" + mbid = release_group + if isinstance(release_group, dict): + mbid = release_group.get('id') + + if cache.ttl(f'release_group_cover_art_{mbid}') is None: + _log.info('El cover art ya estaba guardado') + return + + cover_art = mb.get_release_group_cover_art(mbid) + cache.set(f'release_group_cover_art_{mbid}', json.dumps(cover_art), timeout=None) + _log.info('Cover art de release group %s almacenado en cache', mbid) + + @django_rq.job def load_entities_of_recording(recording): """Carga en cache una grabacion y sus entidades relacionadas""" @@ -46,9 +78,7 @@ def load_entities_of_release(release): cache.set(f'release_{mbid}', json.dumps(release), timeout=None) _log.info('Release %s fue almacenada en cache', mbid) - cover_art = mb.get_release_cover_art(mbid) - cache.set(f'release_cover_art_{mbid}', json.dumps(cover_art), timeout=None) - _log.info('Cover art de release %s almacenada en cache', mbid) + load_release_cover_art.delay(release) offset = 0 while True: @@ -78,9 +108,7 @@ def load_entities_of_release_group(release_group): cache.set(f'release_group_{mbid}', json.dumps(release_group), timeout=None) _log.info('Release Group %s almacenado en cache', mbid) - cover_art = mb.get_release_group_cover_art(mbid) - cache.set(f'release_group_cover_art_{mbid}', json.dumps(cover_art), timeout=None) - _log.info('Cover art de release group %s almacenada en cache', mbid) + load_release_group_cover_art.delay(release_group) offset = 0 while True: