diff --git a/backend/server/api/task/task.go b/backend/server/api/task/task.go
index cd5a02f..f43e574 100644
--- a/backend/server/api/task/task.go
+++ b/backend/server/api/task/task.go
@@ -18,12 +18,13 @@
 package task
 
 import (
+	"net/http"
+	"strconv"
+
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models"
 	"github.com/apache/incubator-devlake/server/api/shared"
 	"github.com/apache/incubator-devlake/server/services"
-	"net/http"
-	"strconv"
 
 	"github.com/gin-gonic/gin"
 )
@@ -63,7 +64,7 @@
 		shared.ApiOutputError(c, errors.BadInput.Wrap(err, "invalid pipeline ID format"))
 		return
 	}
-	tasks, err := services.GetTasksWithLastStatus(pipelineId, true)
+	tasks, err := services.GetTasksWithLastStatus(pipelineId, true, nil)
 	if err != nil {
 		shared.ApiOutputError(c, errors.Default.Wrap(err, "error getting tasks"))
 		return
diff --git a/backend/server/services/pipeline.go b/backend/server/services/pipeline.go
index 70e0e50..1783c94 100644
--- a/backend/server/services/pipeline.go
+++ b/backend/server/services/pipeline.go
@@ -445,7 +445,7 @@
 		}
 		failedTasks = append(failedTasks, task)
 	} else {
-		tasks, err := GetTasksWithLastStatus(pipelineId, false)
+		tasks, err := GetTasksWithLastStatus(pipelineId, false, tx)
 		if err != nil {
 			return nil, errors.Default.Wrap(err, "error getting tasks")
 		}
diff --git a/backend/server/services/task.go b/backend/server/services/task.go
index 9c4922e..885014f 100644
--- a/backend/server/services/task.go
+++ b/backend/server/services/task.go
@@ -110,9 +110,12 @@
 
 // GetTasksWithLastStatus returns task list of the pipeline, only the most recently tasks would be returned
 // TODO: adopts GetLatestTasksOfPipeline
-func GetTasksWithLastStatus(pipelineId uint64, shouldSanitize bool) ([]*models.Task, errors.Error) {
+func GetTasksWithLastStatus(pipelineId uint64, shouldSanitize bool, tx dal.Dal) ([]*models.Task, errors.Error) {
+	if tx == nil {
+		tx = db
+	}
 	var tasks []*models.Task
-	err := db.All(&tasks, dal.Where("pipeline_id = ?", pipelineId), dal.Orderby("id DESC"))
+	err := tx.All(&tasks, dal.Where("pipeline_id = ?", pipelineId), dal.Orderby("id DESC"))
 	if err != nil {
 		return nil, err
 	}
