diff --git a/core/profile/checker.py b/core/profile/checker.py index 5c6a5863a6cdcf6039a139048a75447543fdd275..b891786fb2e6941ef34821b9da22388d6a3a5a3b 100644 --- a/core/profile/checker.py +++ b/core/profile/checker.py @@ -279,7 +279,7 @@ class ProfileChecker(object): "activator", pool=self.pool, calling_service=self.calling_service - ).http_get(url) + ).http_get(url, ignore_errors=True) except RPCError as e: self.logger.error("RPC Error: %s", e) return None diff --git a/services/activator/api/activator.py b/services/activator/api/activator.py index c056ca1d99431ea9bdc377328dd23191307c3b89..153fb18741fb5369e66c4872c7d6762002126dc5 100644 --- a/services/activator/api/activator.py +++ b/services/activator/api/activator.py @@ -155,10 +155,11 @@ class ActivatorAPI(API): @api @tornado.gen.coroutine - def http_get(self, url): + def http_get(self, url, ingnore_errors=False): """ Perform HTTP/HTTPS get and return result :param url: Request URL + :param ingnore_errors: :returns" Result as a string, or None in case of errors """ self.logger.debug("HTTP GET %s", url) @@ -171,6 +172,10 @@ class ActivatorAPI(API): ) if 200 <= code <= 299: raise tornado.gen.Return(body) + elif ingnore_errors: + metrics["error", ("type", "http_error_%s" % code)] += 1 + self.logger.debug("HTTP GET %s failed: %s %s", url, code, body) + raise tornado.gen.Return(str(header) + str(body)) else: metrics["error", ("type", "http_error_%s" % code)] += 1 self.logger.debug("HTTP GET %s failed: %s %s", url, code, body)