diff --git a/supernode/services/common/base/supernode_task.go b/supernode/services/common/base/supernode_task.go index 61ad5f1a..937e6013 100644 --- a/supernode/services/common/base/supernode_task.go +++ b/supernode/services/common/base/supernode_task.go @@ -34,7 +34,16 @@ func (task *SuperNodeTask) RunHelper(ctx context.Context, clean TaskCleanerFunc) defer clean() - return task.RunAction(ctx) + err := task.RunAction(ctx) + + // Update task status based on completion result + if err != nil { + task.UpdateStatus(common.StatusTaskCanceled) + } else { + task.UpdateStatus(common.StatusTaskCompleted) + } + + return err } func (task *SuperNodeTask) context(ctx context.Context) context.Context {