From 299ce145152483e450d9075cbb81fdad5820257c Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Wed, 9 Sep 2020 22:09:49 +0300 Subject: [PATCH] Fix sending empty reports, issue #205 --- trains/backend_interface/metrics/interface.py | 9 +++++---- trains/backend_interface/task/log.py | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/trains/backend_interface/metrics/interface.py b/trains/backend_interface/metrics/interface.py index 065ac64f..f3022e38 100644 --- a/trains/backend_interface/metrics/interface.py +++ b/trains/backend_interface/metrics/interface.py @@ -314,8 +314,9 @@ class Metrics(InterfaceBase): except Exception as ex: warning('Failed reporting metric, line {} [{}]'.format(i, ex)) batch_requests = api_events.AddBatchRequest(requests=list_requests) - res = task.session.send(batch_requests) - if res and not res.ok(): - warning("failed logging metric task to backend ({:d} lines, {})".format( - len(batch_requests.requests), str(res.meta))) + if batch_requests.requests: + res = task.session.send(batch_requests) + if res and not res.ok(): + warning("failed logging metric task to backend ({:d} lines, {})".format( + len(batch_requests.requests), str(res.meta))) return True diff --git a/trains/backend_interface/task/log.py b/trains/backend_interface/task/log.py index 95e51c10..883bc3ea 100644 --- a/trains/backend_interface/task/log.py +++ b/trains/backend_interface/task/log.py @@ -151,7 +151,7 @@ class TaskHandler(BufferingHandler): self.__log_stderr("WARNING: trains.log - Failed logging task to backend ({:d} lines)".format(len(buffer))) batch_requests = None - if batch_requests: + if batch_requests and batch_requests.requests: self._pending += 1 self._add_to_queue(batch_requests) @@ -276,8 +276,9 @@ class TaskHandler(BufferingHandler): warning('Failed reporting log, line {} [{}]'.format(i, ex)) batch_requests = events.AddBatchRequest( requests=[events.TaskLogEvent(task=task.id, **r) for r in list_requests]) - res = task.session.send(batch_requests) - if res and not res.ok(): - warning("failed logging task to backend ({:d} lines, {})".format( - len(batch_requests.requests), str(res.meta))) + if batch_requests.requests: + res = task.session.send(batch_requests) + if res and not res.ok(): + warning("failed logging task to backend ({:d} lines, {})".format( + len(batch_requests.requests), str(res.meta))) return True