index_queue.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package services
  2. import (
  3. "hongze/hongqi_watch/cache"
  4. "time"
  5. )
  6. // HandleFileUpdate 处理文件变化
  7. // func HandleFileUpdate() {
  8. // defer func() {
  9. // if err := recover(); err != nil {
  10. // fmt.Println("[AutoHandle]", err)
  11. // }
  12. // }()
  13. // for {
  14. // global.Rc.Brpop(utils.HANDLE_HONGQI_EXCEL, func(b []byte) {
  15. // updateFilePath := string(b)
  16. // // 移除多余的双引号和\
  17. // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1)
  18. // fileExt := filepath.Ext(updateFilePath)
  19. // //fmt.Println("fileExt:", fileExt)
  20. // if fileExt != ".xlsx" && fileExt != ".xls" {
  21. // //fmt.Println("不是excel文件")
  22. // return
  23. // }
  24. // // 读取excel内容并操作入库
  25. // ReadHqExcel(updateFilePath)
  26. // })
  27. // }
  28. // }
  29. // HandleRefreshExcel 处理excel刷新(实际去调用刷新)
  30. func HandleRefreshExcel() {
  31. for {
  32. el := cache.RefreshList.Front()
  33. // 如果没取到,那么就睡眠1s
  34. if el == nil {
  35. time.Sleep(1 * time.Second)
  36. continue
  37. }
  38. filePath := el.Value.(string)
  39. InvokeRefreshServer(filePath)
  40. // 处理完后就移除该list
  41. cache.RefreshList.Remove(el)
  42. cache.FilePathMutex.Lock()
  43. delete(cache.FilePathMap, filePath)
  44. cache.FilePathMutex.Unlock()
  45. }
  46. }
  47. // HandleRefreshExcel 处理excel刷新(实际去调用刷新)
  48. // func HandleRefreshExcel() {
  49. // defer func() {
  50. // if err := recover(); err != nil {
  51. // fmt.Println("[AutoRefresh]", err)
  52. // }
  53. // }()
  54. // for {
  55. // global.Rc.Brpop(utils.REFRESH_HONGQI_EXCEL, func(b []byte) {
  56. // updateFilePath := string(b)
  57. // // 移除多余的双引号
  58. // updateFilePath = strings.Replace(updateFilePath, `"`, "", -1)
  59. // fileExt := filepath.Ext(updateFilePath)
  60. // //fmt.Println("fileExt:", fileExt)
  61. // if fileExt != ".xlsx" && fileExt != ".xls" {
  62. // //fmt.Println("不是excel文件")
  63. // return
  64. // }
  65. // // 读取excel内容并操作入库
  66. // InvokeRefreshServer(updateFilePath)
  67. // })
  68. // }
  69. // }