From 3e767fd304f17249b5b0a1e066accab5fbd6ecd5 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Fri, 3 Sep 2021 03:23:51 +0300 Subject: [PATCH] Add Task._set_runtime_property --- clearml/backend_interface/task/task.py | 14 ++++++++++++++ clearml/utilities/resource_monitor.py | 5 +---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/clearml/backend_interface/task/task.py b/clearml/backend_interface/task/task.py index 0635989f..e397e061 100644 --- a/clearml/backend_interface/task/task.py +++ b/clearml/backend_interface/task/task.py @@ -1801,6 +1801,20 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): except Exception: return None + def _set_runtime_properties(self, runtime_properties): + # type: (Mapping[str, str]) -> bool + if not Session.check_min_api_version('2.13') or not runtime_properties: + return False + + with self._edit_lock: + self.reload() + current_runtime_properties = self.data.runtime or {} + current_runtime_properties.update(runtime_properties) + # noinspection PyProtectedMember + self._edit(runtime=current_runtime_properties) + + return True + def _clear_task(self, system_tags=None, comment=None): # type: (Optional[Sequence[str]], Optional[str]) -> () self._data.script = tasks.Script( diff --git a/clearml/utilities/resource_monitor.py b/clearml/utilities/resource_monitor.py index cdda99ba..8a6ceb26 100644 --- a/clearml/utilities/resource_monitor.py +++ b/clearml/utilities/resource_monitor.py @@ -76,11 +76,8 @@ class ResourceMonitor(BackgroundMonitor): try: machine_spec = self._get_machine_specs() if machine_spec: - self._task.reload() - runtime_properties = self._task.data.runtime or {} - runtime_properties.update(machine_spec) # noinspection PyProtectedMember - self._task._edit(runtime=runtime_properties) + self._task._set_runtime_properties(runtime_properties=machine_spec) except Exception as ex: logging.getLogger('clearml.resource_monitor').debug( 'Failed logging machine specification: {}'.format(ex))