diff --git a/kernel/model/osssync.go b/kernel/model/osssync.go index 83172ea53..d27aa9395 100644 --- a/kernel/model/osssync.go +++ b/kernel/model/osssync.go @@ -388,6 +388,7 @@ func ossUpload(isBackup bool, localDirPath, cloudDirPath, cloudDevice string, bo if poolSize > len(localUpserts) { poolSize = len(localUpserts) } + msgId := gulu.Rand.String(7) p, _ := ants.NewPoolWithFunc(poolSize, func(arg interface{}) { defer waitGroup.Done() if nil != uploadErr { @@ -400,7 +401,7 @@ func ossUpload(isBackup bool, localDirPath, cloudDirPath, cloudDevice string, bo return } if needPushProgress { - util.PushMsg(fmt.Sprintf(Conf.Language(104), wroteFiles, len(localUpserts)-wroteFiles), 1000*60*10) + util.PushUpdateMsg(msgId, fmt.Sprintf(Conf.Language(104), wroteFiles, len(localUpserts)-wroteFiles), 1000*60*10) } if boot { msg := fmt.Sprintf("Uploading data to the cloud %d/%d", wroteFiles, len(localUpserts)) diff --git a/kernel/util/websocket.go b/kernel/util/websocket.go index c1b19eab8..1b002722b 100644 --- a/kernel/util/websocket.go +++ b/kernel/util/websocket.go @@ -127,6 +127,11 @@ func PushTxErr(msg string, code int, data interface{}) { BroadcastByType("main", "txerr", code, msg, data) } +func PushUpdateMsg(msgId string, msg string, timeout int) { + BroadcastByType("main", "msg", 0, msg, map[string]interface{}{"id": msgId, "closeTimeout": timeout}) + return +} + func PushMsg(msg string, timeout int) (msgId string) { msgId = gulu.Rand.String(7) BroadcastByType("main", "msg", 0, msg, map[string]interface{}{"id": msgId, "closeTimeout": timeout})