Add better errors if Redis is down

Fixes #1497
This commit is contained in:
Joseph Schorr 2016-05-31 15:24:36 -04:00
parent 303db01ec5
commit 04df2410ec
4 changed files with 42 additions and 26 deletions

View file

@ -61,8 +61,8 @@ class RedisBuildLogs(object):
llen = self._redis.llen(self._logs_key(build_id))
log_entries = self._redis.lrange(self._logs_key(build_id), start_index, -1)
return (llen, (json.loads(entry) for entry in log_entries))
except redis.ConnectionError:
raise BuildStatusRetrievalError('Cannot retrieve build logs')
except redis.ConnectionError as ce:
raise BuildStatusRetrievalError('Cannot retrieve build logs: %s' % ce)
def expire_log_entries(self, build_id):
"""
@ -87,8 +87,8 @@ class RedisBuildLogs(object):
"""
try:
fetched = self._redis.get(self._status_key(build_id))
except redis.ConnectionError:
raise BuildStatusRetrievalError('Cannot retrieve build status')
except redis.ConnectionError as ce:
raise BuildStatusRetrievalError('Cannot retrieve build status: %s' % ce)
return json.loads(fetched) if fetched else None