1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Cache only the most recent NetBox release

This commit is contained in:
Jeremy Stretch
2020-03-17 11:58:17 -04:00
parent 356de985d2
commit 3ace83c5aa
3 changed files with 11 additions and 11 deletions

View File

@@ -19,7 +19,7 @@ def get_releases(pre_releases=False):
# Check whether this URL has failed and shouldn't be retried yet
try:
failed_url = cache.get('netbox_releases_no_retry')
failed_url = cache.get('latest_release_no_retry')
if url == failed_url:
return []
except CacheMiss:
@@ -44,10 +44,10 @@ def get_releases(pre_releases=False):
except Exception:
# Don't retry this URL for 15 minutes
logger.exception("Error while fetching {}".format(url))
cache.set('netbox_releases_no_retry', url, 900)
cache.set('latest_release_no_retry', url, 900)
return []
# Cache the releases list
cache.set('netbox_releases', releases, settings.UPDATE_CACHE_TIMEOUT)
# Cache the most recent release
cache.set('latest_release', max(releases), settings.UPDATE_CACHE_TIMEOUT)
return releases

View File

@@ -13,10 +13,10 @@ def get_latest_release(pre_releases=False):
if settings.UPDATE_REPO_URL:
logger.debug("Checking for most recent release")
try:
releases = cache.get('netbox_releases')
if releases:
logger.debug("Found {} cached releases. Latest: {}".format(len(releases), max(releases)))
return max(releases)
latest_release = cache.get('latest_release')
if latest_release:
logger.debug("Found cached release: {}".format(latest_release))
return latest_release
except CacheMiss:
# Check for an existing job. This can happen if the RQ worker process is not running.
queue = get_queue('check_releases')