From 4f10054f3f38d0e21eb00914bbe7e637d3f197f7 Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Mon, 10 May 2021 18:02:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=8B=E5=8A=A1=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/Workline.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/service/Workline.go b/service/Workline.go index dbca7f5..160281f 100644 --- a/service/Workline.go +++ b/service/Workline.go @@ -179,12 +179,12 @@ LOOP: data := strings.Split(bl_wl.Worklinetab.Mixsortlogic, ";") if len(data) >= 2 { /* 获取锁 */ - LOCK: + MixLOCK: err = etcd.G_jobLock.TryLock("lock") if err != nil { fmt.Println("seq groutine lock fail!") time.Sleep(10 * time.Millisecond) - goto LOCK + goto MixLOCK } //项目1 info1 := strings.Split(data[0], ":") @@ -220,6 +220,7 @@ LOOP: etcd.G_jobLock.UnLock() return } + etcd.G_jobLock.UnLock() //比较swet时间 if len(wotablst1) > 0 { swet1 = wotablst1[0].Swet @@ -314,7 +315,6 @@ LOOP: } } } - etcd.G_jobLock.UnLock() } else if len(data) == 1{ //项目1 info1 := strings.Split(data[0], ":") @@ -357,10 +357,19 @@ LOOP: //非混线逻辑 // 获取待下达任务数 // 非混线排序,则正常加载已计划未下达生产订单 + /* 获取锁 */ + LOCK: + err = etcd.G_jobLock.TryLock("lock") + if err != nil { + fmt.Println("seq groutine lock fail!") + time.Sleep(10 * time.Millisecond) + goto LOCK + } if wotablst, err = bl_wl.GetLineTaskWorkorders(bl_wl.WorklineId, toRelQty); err != nil { err = errors.New(fmt.Sprintf("Failed to load work order for workline: %s due to: %v", bl_wl.WorklineId, err)) return } + etcd.G_jobLock.UnLock() for i = 0; i < len(wotablst); i++ { wotablst[i].Clipped() bl_wo = BL_WorkOrder{}