From a61cd237d45c7bec7a3e0cdf32ed33c49b41b73b Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 16 十二月 2019 17:41:12 +0800
Subject: [PATCH] update
---
util/util.go | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/util/util.go b/util/util.go
index 4c92331..e3b8197 100644
--- a/util/util.go
+++ b/util/util.go
@@ -1,17 +1,34 @@
package util
import (
- "basic.com/valib/deliver.git"
"context"
"errors"
- // "github.com/pierrec/lz4"
- "taskpubsub/logger"
+
+ "basic.com/valib/deliver.git"
+
+ "basic.com/valib/logger.git"
+)
+
+const (
+ // 鍏变韩鍐呭瓨鍙戦��/鎺ユ敹澶辫触shmMaxTryCount娆¢噸鏂板垱寤洪�氶亾灏濊瘯
+ ShmMaxTryCount = 7
+ // 涓嶈鍏变韩鍐呭瓨/mangos鍙戦��/鎺ユ敹澶辫触鏈�澶ф鏁�,璁や负褰撳墠閫氶亾涓嶅啀浣跨敤, 鍏抽棴
+ // 鏈夐棶棰�,鎽勫儚鏈洪暱鏃堕棿鏂綉鍚庨噸杩�,浣嗘槸閫氶亾鍏抽棴
+ tooLongFailed = 300
+
+ File_Img_Id_Pre = "img_"
+ File_Video_Id_Pre = "video_"
+ File_Audio_Id_Pre = "audio_"
)
type SocketContext struct {
Sock deliver.Deliver
Context context.Context
Cancel context.CancelFunc
+
+ Mode int
+ URL string
+ UseSHM bool
}
// 1. oldstring element is not in new : abandon(delete)
@@ -86,9 +103,17 @@
socket.Context = ctx
socket.Cancel = cancel
- if shm{
- socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
- }else{
+ socket.Mode = mode
+ socket.URL = url
+ socket.UseSHM = shm
+
+ if shm {
+ var err error
+ socket.Sock, err = deliver.NewServerWithError(deliver.Mode(mode), url)
+ if err != nil {
+ logger.Info("TASK CREATE SERVER SHM ERROR: ", err)
+ }
+ } else {
socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
}
@@ -114,3 +139,23 @@
return socket, nil
}
+
+func MaybeRestartSocket(socket SocketContext, tryCnt *int) SocketContext {
+ if socket.UseSHM {
+ if *tryCnt > ShmMaxTryCount {
+ logger.Info("SDK SEND SHM TRY :", ShmMaxTryCount, " RESTART IT")
+
+ socket.Sock.Close()
+ newSocket, err := NewSocketListen(socket.Mode, socket.URL, socket.UseSHM)
+ if err != nil {
+ return socket
+ }
+
+ *tryCnt = 0
+
+ return newSocket
+ }
+ }
+
+ return socket
+}
--
Gitblit v1.8.0