mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 09:28:38 -06:00
Clean up URL damping
This commit is contained in:
parent
3ace83c5aa
commit
2f12d09663
@ -16,17 +16,16 @@ def get_releases(pre_releases=False):
|
|||||||
headers = {
|
headers = {
|
||||||
'Accept': 'application/vnd.github.v3+json',
|
'Accept': 'application/vnd.github.v3+json',
|
||||||
}
|
}
|
||||||
|
releases = []
|
||||||
|
|
||||||
# Check whether this URL has failed and shouldn't be retried yet
|
# Check whether this URL has failed recently and shouldn't be retried yet
|
||||||
try:
|
try:
|
||||||
failed_url = cache.get('latest_release_no_retry')
|
if url == cache.get('latest_release_no_retry'):
|
||||||
if url == failed_url:
|
logger.debug("Skipping release check; URL failed recently: {}".format(url))
|
||||||
return []
|
return []
|
||||||
except CacheMiss:
|
except CacheMiss:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
releases = []
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
logger.debug("Fetching new releases from {}".format(url))
|
logger.debug("Fetching new releases from {}".format(url))
|
||||||
response = requests.get(url, headers=headers)
|
response = requests.get(url, headers=headers)
|
||||||
@ -41,9 +40,9 @@ def get_releases(pre_releases=False):
|
|||||||
releases.append((version.parse(release['tag_name']), release.get('html_url')))
|
releases.append((version.parse(release['tag_name']), release.get('html_url')))
|
||||||
logger.debug("Found {} releases; {} usable".format(total_releases, len(releases)))
|
logger.debug("Found {} releases; {} usable".format(total_releases, len(releases)))
|
||||||
|
|
||||||
except Exception:
|
except requests.exceptions.RequestException:
|
||||||
# Don't retry this URL for 15 minutes
|
# The request failed. Set a flag in the cache to disable future checks to this URL for 15 minutes.
|
||||||
logger.exception("Error while fetching {}".format(url))
|
logger.exception("Error while fetching {}. Disabling checks for 15 minutes.".format(url))
|
||||||
cache.set('latest_release_no_retry', url, 900)
|
cache.set('latest_release_no_retry', url, 900)
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user