Skip to content

Commit dc168a5

Browse files
authored
Cancel job run only if it is in cancellable state when force deleting a job (#911)
2 parents 7f8b70d + 8b35ae0 commit dc168a5

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

ads/jobs/builders/infrastructure/dsc_job.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -377,13 +377,12 @@ def delete(self, force_delete: bool = False) -> DSCJob:
377377
"""
378378
runs = self.run_list()
379379
for run in runs:
380-
if force_delete:
381-
if run.lifecycle_state in [
382-
DataScienceJobRun.LIFECYCLE_STATE_ACCEPTED,
383-
DataScienceJobRun.LIFECYCLE_STATE_IN_PROGRESS,
384-
DataScienceJobRun.LIFECYCLE_STATE_NEEDS_ATTENTION,
385-
]:
386-
run.cancel(wait_for_completion=True)
380+
if force_delete and run.lifecycle_state in [
381+
DataScienceJobRun.LIFECYCLE_STATE_ACCEPTED,
382+
DataScienceJobRun.LIFECYCLE_STATE_IN_PROGRESS,
383+
DataScienceJobRun.LIFECYCLE_STATE_NEEDS_ATTENTION,
384+
]:
385+
run.cancel(wait_for_completion=True)
387386
run.delete()
388387
self.client.delete_job(self.id)
389388
return self
@@ -894,10 +893,14 @@ def download(self, to_dir):
894893
return self
895894

896895
def delete(self, force_delete: bool = False):
897-
if force_delete:
896+
if force_delete and self.status in [
897+
DataScienceJobRun.LIFECYCLE_STATE_ACCEPTED,
898+
DataScienceJobRun.LIFECYCLE_STATE_IN_PROGRESS,
899+
DataScienceJobRun.LIFECYCLE_STATE_NEEDS_ATTENTION,
900+
]:
898901
self.cancel(wait_for_completion=True)
899902
super().delete()
900-
return
903+
return self
901904

902905

903906
# This is for backward compatibility

0 commit comments

Comments
 (0)