diff --git a/clearml/backend_interface/task/task.py b/clearml/backend_interface/task/task.py index e730c37f..265d07ed 100644 --- a/clearml/backend_interface/task/task.py +++ b/clearml/backend_interface/task/task.py @@ -536,14 +536,15 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): res = self.send(tasks.GetByIdRequest(task=self.id)) return res.response.task - def reset(self, set_started_on_success=True): - # type: (bool) -> () + def reset(self, set_started_on_success=True, force=False): + # type: (bool, bool) -> () """ Reset the task. Task will be reloaded following a successful reset. - :param set_started_on_success: If True automatically set Task status to started after resetting it. + :param set_started_on_success: If True automatically set Task status to started after resetting it. + :param force: If not true, call fails if the task status is 'completed' """ - self.send(tasks.ResetRequest(task=self.id)) + self.send(tasks.ResetRequest(task=self.id, force=force)) if set_started_on_success: self.started() elif self._data: diff --git a/clearml/task.py b/clearml/task.py index 67303629..10355cbf 100644 --- a/clearml/task.py +++ b/clearml/task.py @@ -1509,7 +1509,7 @@ class Task(_Task): - ``False`` - Do not force (default) """ if not running_remotely() or not self.is_main_task() or force: - super(Task, self).reset(set_started_on_success=set_started_on_success) + super(Task, self).reset(set_started_on_success=set_started_on_success, force=force) def close(self): """