From 8759a2ce65858a3e389f6c335fb930986fe3ef6d Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Sat, 3 May 2025 23:38:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9C=A8=20PullCodeHandler=E3=80=81Buil?= =?UTF-8?q?dBotHandler=20=E5=92=8C=20RestartBotHandler=20=E4=B8=AD?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20TryLock=20=E4=BB=A5=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=E8=AF=B7=E6=B1=82=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/restart/restart.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/handler/restart/restart.go b/handler/restart/restart.go index be5e352..d85761f 100644 --- a/handler/restart/restart.go +++ b/handler/restart/restart.go @@ -173,7 +173,10 @@ func buildBot() error { } func PullCodeHandler(c *gin.Context) { - stuffMutex.Lock() + if !stuffMutex.TryLock() { + c.JSON(http.StatusInternalServerError, gin.H{"error": "有其他请求正在运行,请稍后再试"}) + return + } defer stuffMutex.Unlock() err := util.GitPull() log.Println("拉取代码...") @@ -186,7 +189,10 @@ func PullCodeHandler(c *gin.Context) { } func BuildBotHandler(c *gin.Context) { - stuffMutex.Lock() + if !stuffMutex.TryLock() { + c.JSON(http.StatusInternalServerError, gin.H{"error": "有其他请求正在运行,请稍后再试"}) + return + } defer stuffMutex.Unlock() err := buildBot() log.Println("构建程序...") @@ -204,7 +210,10 @@ func RestartBotHandler(c *gin.Context) { c.JSON(http.StatusUnauthorized, gin.H{"error": "Unauthorized"}) return } - stuffMutex.Lock() + if !stuffMutex.TryLock() { + c.JSON(http.StatusInternalServerError, gin.H{"error": "有其他请求正在运行,请稍后再试"}) + return + } defer stuffMutex.Unlock() err := restartProgram() log.Println("重启程序...")