policy(minor): fix deadlock issue

This commit is contained in:
Langhammer, Jens
2019-10-04 13:44:26 +02:00
parent e59c4ec1c7
commit 4c6f562805
2 changed files with 40 additions and 23 deletions

View File

@ -17,10 +17,16 @@ def _cache_key(policy, user):
class PolicyProcess(Process):
"""Evaluate a single policy within a seprate process"""
ret: Connection
connection: Connection
policy: Policy
request: PolicyRequest
def __init__(self, policy: Policy, request: PolicyRequest, connection: Connection):
super().__init__()
self.policy = policy
self.request = request
self.connection = connection
def run(self):
"""Task wrapper to run policy checking"""
LOGGER.debug("Running policy", policy=self.policy,
@ -38,5 +44,4 @@ class PolicyProcess(Process):
# cache_key = _cache_key(self.policy, self.request.user)
# cache.set(cache_key, (self.policy.action, policy_result, message))
# LOGGER.debug("Cached entry as %s", cache_key)
self.ret.send(policy_result)
self.ret.close()
self.connection.send(policy_result)