in cdsreaper/models.py [0:0]
def read(client:redis.client.Redis, uid:str):
"""
look up the given job uid in the datastore. Returns the object as JobState or None.
:param client:
:param uid:
:return:
"""
key = "cds:job:{0}".format(uid)
json_data = client.get(key)
if json_data is not None:
try:
parsed_dict = json.loads(json_data)
return JobState(parsed_dict["uid"],parsed_dict["name"],parsed_dict["status"], parsed_dict["timestamp"])
except KeyError as e:
logger.error("Data for job {0} was invalid, missing key {1}.".format(uid, str(e)))
client.delete(key)
return None
except json.JSONDecodeError as e:
logger.error("Data for job {0} was invalid, not a correct json object: {1}".format(uid, str(e)))
client.delete(key)
return None
else:
return None