From 9b386bbde247955e5b14a04ecb0930a323808ba3 Mon Sep 17 00:00:00 2001 From: xuans Date: Thu, 1 Oct 2026 04:03:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=8B=E5=8A=A1=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=94=B6=E5=B0=BE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 防止正常提交后的保护性收尾再次覆盖已提交状态,确保事务最终记录稳定。 --- backend/internal/deployment/service.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/internal/deployment/service.go b/backend/internal/deployment/service.go index 6d345f8..c0ac3e1 100644 --- a/backend/internal/deployment/service.go +++ b/backend/internal/deployment/service.go @@ -404,6 +404,7 @@ func (s *Service) deployOne(ctx context.Context, server Server, artifact Artifac result.FailureCode = "" result.Message = "证书已推送并重载,等待站点校验" closed := false + finished := false transaction := &pendingDeployment{index: index} transaction.restore = func(recoveryContext context.Context) Result { result.Status = "failed" @@ -445,6 +446,10 @@ func (s *Service) deployOne(ctx context.Context, server Server, artifact Artifac return result } transaction.finish = func(retain bool) Result { + if finished { + return result + } + finished = true if !closed { retainLocks = retain releaseLocks()