From 9626c2813cf8388c69f14adea4bbe7e87a4fbe07 Mon Sep 17 00:00:00 2001 From: "Kaplya J.A." Date: Thu, 12 Mar 2026 10:10:44 +0300 Subject: [PATCH] fix: Fix terraform task stopping logic for waiting_confirmation state --- db_lib/TerraformApp.go | 3 ++- services/runners/job_pool.go | 6 +++++- services/tasks/TaskRunner_logging.go | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/db_lib/TerraformApp.go b/db_lib/TerraformApp.go index b08b10b43..6d7c1f17c 100644 --- a/db_lib/TerraformApp.go +++ b/db_lib/TerraformApp.go @@ -374,7 +374,8 @@ func (t *TerraformApp) Run(args LocalAppRunningArgs) error { time.Sleep(time.Second * 3) if t.reader.status.IsFinished() || t.reader.status == task_logger.TaskConfirmed || - t.reader.status == task_logger.TaskRejected { + t.reader.status == task_logger.TaskRejected || + t.reader.status == task_logger.TaskStoppingStatus { break } } diff --git a/services/runners/job_pool.go b/services/runners/job_pool.go index 843b58193..61028f926 100644 --- a/services/runners/job_pool.go +++ b/services/runners/job_pool.go @@ -208,7 +208,11 @@ func (p *JobPool) Run() { runningJob.SetStatus(task_logger.TaskFailStatus) } } else { - runningJob.SetStatus(task_logger.TaskSuccessStatus) + if runningJob.status == task_logger.TaskStoppingStatus { + runningJob.SetStatus(task_logger.TaskStoppedStatus) + } else { + runningJob.SetStatus(task_logger.TaskSuccessStatus) + } } logger.TaskInfo("Task finished", runningJob.job.Task.ID, string(runningJob.status)) diff --git a/services/tasks/TaskRunner_logging.go b/services/tasks/TaskRunner_logging.go index 0dca84e7d..3c03fe973 100644 --- a/services/tasks/TaskRunner_logging.go +++ b/services/tasks/TaskRunner_logging.go @@ -94,7 +94,7 @@ func (t *TaskRunner) SetStatus(status task_logger.TaskStatus) { return } case task_logger.TaskStoppingStatus: - if status == task_logger.TaskWaitingStatus || status == task_logger.TaskRunningStatus { + if status == task_logger.TaskWaitingStatus || status == task_logger.TaskRunningStatus || status == task_logger.TaskWaitingConfirmation { //panic("stopping TaskRunner cannot be " + status) return }