From 248d110f810b1082e0d669e82cecc860034caa85 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Mon, 2 Nov 2015 22:06:01 +0000 Subject: [PATCH] add port to service registry, fix bug with service hearbeat --- warcprox/controller.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/warcprox/controller.py b/warcprox/controller.py index d8813f6..b1d0a83 100644 --- a/warcprox/controller.py +++ b/warcprox/controller.py @@ -115,6 +115,7 @@ class WarcproxController(object): status_info = { 'role': 'warcprox', 'heartbeat_interval': self.HEARTBEAT_INTERVAL, + 'port': self.options.port, } status_info['load'] = self.proxy.recorded_url_q.qsize() / (self.proxy.recorded_url_q.maxsize or 100) @@ -138,9 +139,19 @@ class WarcproxController(object): last_mem_dbg = datetime.datetime.utcfromtimestamp(0) + try: + utc = datetime.timezone.utc + except AttributeError: + # python2 :-\ + class UTC(datetime.tzinfo): + def tzname(self, dt): return "UTC+00:00" + def dst(self, dt): return datetime.timedelta(0) + def utcoffset(self, dt): return datetime.timedelta(0) + utc = UTC() + try: while not self.stop.is_set(): - if not hasattr(self, "status_info") or (datetime.datetime.now(datetime.timezone.utc) - self.status_info["last_heartbeat"]).total_seconds() > self.HEARTBEAT_INTERVAL: + if self.service_registry and (not hasattr(self, "status_info") or (datetime.datetime.now(utc) - self.status_info["last_heartbeat"]).total_seconds() > self.HEARTBEAT_INTERVAL): self._service_heartbeat() if (datetime.datetime.utcnow() - last_mem_dbg).total_seconds() > 60: