Ver Fonte

修改铁合金导入WMS结算单定时任务BUG

zhou.xiaoning há 2 anos atrás
pai
commit
10e06a67ee
1 ficheiros alterados com 17 adições e 12 exclusões
  1. 17 12
      service/ftp.go

+ 17 - 12
service/ftp.go

@@ -26,23 +26,28 @@ func InitTimer() (err error) {
 	min, _ := strconv.Atoi(timeArr[1])
 	sec, _ := strconv.Atoi(timeArr[2])
 
-	loc, err := time.LoadLocation("Local")
-	targetTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), hour, min, sec, 0, loc)
-
 	duration := time.Duration(global.M2A_CONFIG.FTP.Duration)
+
 	// 启动协程处理任务
 	go func() {
 		for range time.Tick(duration * time.Minute) {
-			// 计算时间差,等待执行时间
-			dur := time.Until(targetTime)
-			if dur < 0 {
-				targetTime = targetTime.Add(24 * time.Hour)
-				dur = time.Until(targetTime)
+			// for range time.Tick(1) {
+			if loc, err := time.LoadLocation("Local"); err == nil {
+				targetTime := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), hour, min, sec, 0, loc)
+
+				// 计算时间差,等待执行时间
+				// dur := time.Until(targetTime)
+				// if dur < 0 {
+				// 	targetTime = targetTime.Add(24 * time.Hour)
+				// 	dur = time.Until(targetTime)
+				// }
+				// time.Sleep(dur)
+
+				if time.Now().Before(targetTime) {
+					// 执行函数
+					ImportWMSReckon()
+				}
 			}
-			time.Sleep(dur)
-
-			// 执行函数
-			ImportWMSReckon()
 		}
 	}()