fengweiqiang 5 vuotta sitten
vanhempi
commit
aa4d5c61bb
2 muutettua tiedostoa jossa 16 lisäystä ja 13 poistoa
  1. 3 2
      udp_ocr_conter/config.json
  2. 13 11
      udp_ocr_conter/main.go

+ 3 - 2
udp_ocr_conter/config.json

@@ -14,8 +14,9 @@
   "broadcast_ips": "127.0.0.1;192.168.1.2;192.168.1.3;192.168.1.4",
   "broadcast_port": 1490,
   "http_port": "12345",
-  "cornstr": "0 0/10 7,8,9,10,11,12,13,14,15,16,17,18,19 * * ?",
-  "pernum": 4,
+  "cornstr": "0 0/5 * * * ?",
+  "corntime_consuming": 300,
+  "pernum": 5,
   "esconfig": {
     "available": true,
     "AccessID": "LTAIkuomMLAjIlGH",

+ 13 - 11
udp_ocr_conter/main.go

@@ -172,30 +172,29 @@ func main() {
 		taskArr := mongodb.Find("ocr_task", bson.M{}, `{_id:1}`, nil, false, -1, -1)
 		taskNum := len(*taskArr)
 		log.Println("当前任务数量:", taskNum)
-		if taskNum <= 0 {
-			return
-		}
+		//if taskNum <= 0 {
 		//计算释放,发送udp
 		if !compute() {
 			if len(config.Cnum) <= 0 {
+				log.Println("当前实例为空,无需释放",config.Cnum,)
 				return
 			}
 			tmpIid := config.Cnum[0]
-			go func() {
+			go func(tmpIid string) {
 				DeleteNode.Reset(time.Minute * 50)
 				<-DeleteNode.C
 				config.Cnum = config.Cnum[1:]
-			}()
-			cluster.ModifyInstanceAutoReleaseTime(tmpIid, 1)
-			log.Println("一小时后释放实例", tmpIid)
-			go func() {
+				mongodb.Del("ocr_ecs", bson.M{"ip_nw": tmpIid})
 				udpclient.WriteUdp([]byte("一小时后释放实例"), mu.OP_DELETE_DOWNLOADERCODES, &net.UDPAddr{
 					IP:   net.ParseIP(tmpIid),
 					Port: qu.IntAll(config.Sysconfig["broadcast_port"]),
 				})
-			}()
+			}(tmpIid)
+			cluster.ModifyInstanceAutoReleaseTime(tmpIid, 1)
+			log.Println("一小时后释放实例", tmpIid)
 			return
 		}
+		//}
 		if len(config.Cnum) >= qu.IntAll(config.Sysconfig["pernum"]) {
 			log.Println("实例申请上限,当前实例:", config.Cnum)
 			return
@@ -437,6 +436,9 @@ func reload(ip string) string {
 func compute() bool {
 	nowtime := time.Now().Unix()
 	taskArrase := mongodb.Find("ocr_task", bson.M{}, `{_id:1}`, nil, false, -1, -1)
+	if taskArrase == nil || len(*taskArrase) == 0{
+		return false
+	}
 	stmp := (*taskArrase)[0]
 	etmp := (*taskArrase)[len(*taskArrase)-1]
 	if stmp != nil && etmp != nil {
@@ -458,10 +460,10 @@ func compute() bool {
 			"$lt":  gteid,
 		}})
 		log.Println("overNum:", overNum, ",hs:", int(nowtime-stime), ",sum:", sum)
-		if overNum == 0{
+		if overNum == 0 {
 			return false
 		}
-		if overNum/int(nowtime-stime)*300 >= sum {
+		if overNum/int(nowtime-stime)*qu.IntAll(config.Sysconfig["corntime_consuming"]) >= sum {
 			return false
 		}
 		return true