From 7342185782fec53480caeba8e047d01b35927bec Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期一, 17 六月 2024 09:13:01 +0800 Subject: [PATCH] watch preloads file to autoload --- service/process.go | 29 ++++++++++++++++++++++++----- 1 files changed, 24 insertions(+), 5 deletions(-) diff --git a/service/process.go b/service/process.go index 1c08e55..0b67c93 100644 --- a/service/process.go +++ b/service/process.go @@ -175,10 +175,12 @@ if err != nil { log.Fatal(err) } +FOR: for { select { case <-cxt.Done(): fmt.Println("preload stop") + break FOR // 閫�鍑哄惊鐜� case event, ok := <-watcher.Events: if !ok { continue @@ -186,11 +188,14 @@ if event.Op&fsnotify.Create == fsnotify.Create { // 鍒ゆ柇鏂囦欢绫诲瀷鏄惁涓�.mp3鎴�.wav if filepath.Ext(event.Name) == ".mp3" || filepath.Ext(event.Name) == ".wav" { + time.Sleep(time.Second * 1) + //璁剧疆鏂囦欢璁块棶鏉冮檺 + err = os.Chmod(event.Name, 0777) + if err != nil { + logx.Errorf(fmt.Sprintf("%s:%s", event.Name, "璁剧疆鏂囦欢鏉冮檺澶辫触")) + } // 鏂囦欢鍚� fileName := filepath.Base(event.Name) - // 鏂囦欢澶у皬 - bs, _ := os.ReadFile(event.Name) - size := len(bs) //鏍¢獙鏂囦欢鍛藉悕 arr := strings.Split(fileName, "_") if len(arr) != 6 { @@ -211,16 +216,30 @@ } //灏嗘枃浠剁Щ鍔ㄥ埌uploads鏂囦欢澶逛笅 - src := conf.LocalConf.StorePath + "/" + fileName + //鍒ゆ柇storePath涓湯灏炬槸鍚﹀甫 + var src string + if strings.HasSuffix(conf.LocalConf.StorePath, "/") { + src = conf.LocalConf.StorePath + fileName + } else { + src = conf.LocalConf.StorePath + "/" + fileName + } err = os.Rename(event.Name, src) if err != nil { logx.Errorf(fmt.Sprintf("%s:%s", fileName, "绉诲姩鏂囦欢澶辫触")) continue } + // 璇诲彇鏂囦欢澶у皬 + fileInfo, err := os.Stat(src) + if err != nil { + logx.Errorf(fmt.Sprintf("%s:%s", fileName, "鑾峰彇鏂囦欢澶у皬澶辫触")) + continue + } + size := fileInfo.Size() + fmt.Println("fileName:", fileName, "size:", size, "src1", src) audio := &models.Audio{ Name: fileName, - Size: int64(size), + Size: size, FilePath: src, AudioStatus: constvar.AudioStatusUploadOk, LocomotiveNumber: arr[0], -- Gitblit v1.8.0