"""
try:
return func()
- except (ValidationError, exceptions.PolicyTypeAlreadyExists, exceptions.CantDeleteNonEmptyType) as exc:
- logger.exception(exc)
+ except (ValidationError, exceptions.PolicyTypeAlreadyExists, exceptions.CantDeleteNonEmptyType):
return "", 400
- except (exceptions.PolicyTypeNotFound, exceptions.PolicyInstanceNotFound) as exc:
- logger.exception(exc)
+ except (exceptions.PolicyTypeNotFound, exceptions.PolicyInstanceNotFound):
return "", 404
except BaseException as exc:
# catch all, should never happen...
def get_healthcheck():
"""
Handles healthcheck GET
- Currently, this basically checks the server is alive
+ Currently, this checks:
+ 1. whether the a1 webserver is up (if it isn't, this won't even be called, so even entering this function confirms it is)
+ 2. checks whether the rmr thread is running and has completed a loop recently
+ TODO: make "seconds" to pass in a configurable parameter?
"""
- return "", 200
+ if a1rmr.healthcheck_rmr_thread():
+ return "", 200
+ return "rmr thread is unhealthy", 500
# Policy types
# send rmr (best effort)
body = _gen_body_to_handler("CREATE", policy_type_id, policy_instance_id, payload=instance)
- a1rmr.send(json.dumps(body), message_type=policy_type_id)
+ a1rmr.queue_work({"payload": json.dumps(body), "msg type": policy_type_id})
return "", 202
# send rmr (best effort)
body = _gen_body_to_handler("DELETE", policy_type_id, policy_instance_id)
- a1rmr.send(json.dumps(body), message_type=policy_type_id)
+ a1rmr.queue_work({"payload": json.dumps(body), "msg type": policy_type_id})
return "", 202