From 0134631ab374d2fc2ef3d75d24e3cc0a6add22ff Mon Sep 17 00:00:00 2001 From: Russell Haering <russell.haering@rackspace.com> Date: Wed, 8 Jan 2014 08:42:03 -0800 Subject: [PATCH] stop heartbeating when agent is stopped --- teeth_agent/base.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/teeth_agent/base.py b/teeth_agent/base.py index d07348654..f10af431f 100644 --- a/teeth_agent/base.py +++ b/teeth_agent/base.py @@ -142,6 +142,7 @@ class TeethAgentHeartbeater(threading.Thread): backoff_factor = 2.7 def __init__(self, agent): + super(TeethAgentHeartbeater, self).__init__() self.agent = agent self.api = overlord_agent_api.APIClient(agent.api_url) self.stop_event = threading.Event() @@ -172,6 +173,10 @@ class TeethAgentHeartbeater(threading.Thread): return deadline + def stop(self): + self.stop_event.set() + return self.join() + class BaseTeethAgent(object): def __init__(self, listen_host, listen_port, api_url, mode): @@ -233,3 +238,4 @@ class BaseTeethAgent(object): self.started_at = time.time() self.heartbeater.start() serving.run_simple(self.listen_host, self.listen_port, self.api) + self.heartbeater.stop()