package services import ( "fmt" "hongze/hongtao3_watch/cache" "path/filepath" "time" ) // HandleFileUpdate 处理文件变化 //func HandleFileUpdate() { // defer func() { // if err := recover(); err != nil { // fmt.Println("[AutoHandle]", err) // } // }() // for { // global.Rc.Brpop(utils.HANDLE_HONGTAO_EXCEL, func(b []byte) { // updateFilePath := string(b) // // 移除多余的双引号 // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1) // fileExt := filepath.Ext(updateFilePath) // //fmt.Println("fileExt:", fileExt) // // if fileExt != ".xlsx" && fileExt != ".xls" { // //fmt.Println("不是excel文件") // return // } // // 读取excel内容并操作入库 // ReadExcel(updateFilePath) // }) // } // //} //// HandleRefreshExcel 处理excel刷新(实际去调用刷新) //func HandleRefreshExcel() { // defer func() { // if err := recover(); err != nil { // fmt.Println("[AutoRefresh]", err) // } // }() // for { // global.Rc.Brpop(utils.REFRESH_HONGTAO_EXCEL, func(b []byte) { // updateFilePath := string(b) // // 移除多余的双引号 // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1) // fileExt := filepath.Ext(updateFilePath) // //fmt.Println("fileExt:", fileExt) // // if fileExt != ".xlsx" && fileExt != ".xls" { // //fmt.Println("不是excel文件") // return // } // // 读取excel内容并操作入库 // InvokeRefreshServer(updateFilePath) // }) // } // //} // HandleRefreshExcel // @Description: 处理excel刷新(实际去调用刷新) // @author: Roc // @datetime2023-10-31 09:44:36 // @param filePath string func HandleRefreshExcel() { for { el := cache.RefreshList.Front() // 如果没取到,那么就睡眠1s if el == nil { time.Sleep(1 * time.Second) continue } filePath := el.Value.(string) fileExt := filepath.Ext(filePath) if fileExt != ".xlsx" && fileExt != ".xls" { //fmt.Println("不是excel文件") return } InvokeRefreshServer(filePath) // 处理完后就移除该list cache.RefreshList.Remove(el) cache.FilePathMutex.Lock() delete(cache.FilePathMap, filePath) cache.FilePathMutex.Unlock() } } // HandleFileUpdate // @Description: 处理文件变化 // @author: Roc // @datetime2023-10-31 09:52:23 func HandleFileUpdate() { defer func() { if err := recover(); err != nil { fmt.Println("[AutoHandle]", err) } }() for { el := cache.HandleExcelList.Front() // 如果没取到,那么就睡眠1s if el == nil { time.Sleep(1 * time.Second) continue } filePath := el.Value.(string) fileExt := filepath.Ext(filePath) if fileExt != ".xlsx" && fileExt != ".xls" { //fmt.Println("不是excel文件") return } // 读取excel内容并操作入库 ReadExcel(filePath) // 处理完后就移除该list cache.HandleExcelList.Remove(el) cache.HandleExcelFilePathMutex.Lock() delete(cache.HandleExcelFilePathMap, filePath) cache.HandleExcelFilePathMutex.Unlock() } }