瀏覽代碼

修改定时任务时间

longyu 2 年之前
父節點
當前提交
03b5529d3b
共有 3 個文件被更改,包括 60 次插入36 次删除
  1. 22 8
      init_serve/task.go
  2. 5 5
      services/index.go
  3. 33 23
      services/index_merge.go

+ 22 - 8
init_serve/task.go

@@ -17,11 +17,11 @@ func InitTask() {
 	c := cron.New(cron.WithSeconds())
 
 	//每5分钟检测一次,指标生成
-	//_, err := c.AddFunc("0 */1 * * * *", CheckIndexCreate)
-	//if err != nil {
-	//	global.LOG.Info("DownloadCvTask err" + err.Error())
-	//	panic("DownloadCvTask err" + err.Error())
-	//}
+	_, err := c.AddFunc("0 */1 * * * *", CheckIndexCreate)
+	if err != nil {
+		global.LOG.Info("DownloadCvTask err" + err.Error())
+		panic("DownloadCvTask err" + err.Error())
+	}
 
 	////每30分钟检测一次,周度指标刷新
 	//_, err = c.AddFunc("0 */30 * * * *", services.IndexRefreshWeek)
@@ -31,11 +31,24 @@ func InitTask() {
 	//}
 
 	//其他指标刷新
-	_, err := c.AddFunc("0 00 03 * * *", services.IndexRefreshAll)
+	_, err = c.AddFunc("0 30 12 * * *", services.IndexRefreshAll)
 	if err != nil {
 		global.LOG.Info("DownloadCvTask err" + err.Error())
 		panic("DownloadCvTask err" + err.Error())
 	}
+
+	_, err = c.AddFunc("0 00 17 * * *", services.IndexRefreshAll)
+	if err != nil {
+		global.LOG.Info("DownloadCvTask err" + err.Error())
+		panic("DownloadCvTask err" + err.Error())
+	}
+
+	_, err = c.AddFunc("0 */10 * * * *", services.Merge)
+	if err != nil {
+		global.LOG.Info("DownloadCvTask err" + err.Error())
+		panic("DownloadCvTask err" + err.Error())
+	}
+
 	//
 	////其他指标刷新
 	//_, err = c.AddFunc("0 30 12 * * *", services.IndexRefreshAll)
@@ -43,9 +56,10 @@ func InitTask() {
 	//	global.LOG.Info("DownloadCvTask err" + err.Error())
 	//	panic("DownloadCvTask err" + err.Error())
 	//}
-	//c.Start()
+	c.Start()
 
 	//go watch.ListenFolderNew()
+	go watch.ListenFolderNew()
 	go watch.ListenFolderNewMerge()
 	go services.AutoRefresh()
 
@@ -64,7 +78,7 @@ func InitTask() {
 func CheckIndexCreate() {
 	var err error
 	defer func() {
-		if err != nil {
+		if err != nil && err.Error() != "record not found" {
 			global.LOG.Info(utils.APPNAME + " 定时任务 出错" + time.Now().Format("2006-01-02 15:04:05") + ";Err:" + err.Error())
 			go alarm_msg.SendAlarmMsg(utils.APPNAME+" 定时任务 出错"+time.Now().Format("2006-01-02 15:04:05")+";Err:"+err.Error(), 3)
 		}

+ 5 - 5
services/index.go

@@ -21,13 +21,13 @@ const (
 	FormatTimeStr = "15:04"    //时间格式
 )
 
-//var checkLock sync.RWMutex
+var checkLock sync.RWMutex
 
 func IndexCreateCheck() (err error) {
-	//checkLock.Lock()
-	//defer func() {
-	//	checkLock.Unlock()
-	//}()
+	checkLock.Lock()
+	defer func() {
+		checkLock.Unlock()
+	}()
 	fmt.Println("IndexCreateCheck")
 	indexObj := new(index.BaseFromMysteelChemicalIndex)
 	list, err := indexObj.GetIndexCreate()

+ 33 - 23
services/index_merge.go

@@ -53,6 +53,10 @@ func IndexYearMerge() {
 		return
 	}
 
+	if len(yearList) <= 0 {
+		return
+	}
+
 	commentResult, err := GetIndexComment(yearIndexFilePath, yearList, 1)
 	if err != nil {
 		fmt.Println("GetIndexComment Err:" + err.Error())
@@ -107,6 +111,10 @@ func IndexSeasonMerge() {
 		return
 	}
 
+	if len(seasonList) <= 0 {
+		return
+	}
+
 	commentResult, err := GetIndexComment(seasonIndexFilePath, seasonList, 1)
 	if err != nil {
 		fmt.Println("GetIndexComment Err:" + err.Error())
@@ -248,11 +256,12 @@ func IndexMonthMerge() {
 	frequency := "月度"
 	filePre := "month"
 	pageSize := 30
-	err := indexMerge(frequency,filePre,pageSize)
-	if err != nil{
-		fmt.Println("合并月度指标失败,err:",err)
+	err := indexMerge(frequency, filePre, pageSize)
+	if err != nil {
+		fmt.Println("合并月度指标失败,err:", err)
 	}
 }
+
 //日度
 //func IndexDayMerge() {
 //	frequency := "日度"
@@ -355,10 +364,10 @@ func IndexMonthMerge() {
 func IndexDayMerge() {
 	frequency := "日度"
 	filePre := "day"
-	pageSize := 30	//每个excel表需要的指标数
-	err := indexMerge(frequency,filePre,pageSize)
-	if err != nil{
-		fmt.Println("合并日度指标失败,err:",err)
+	pageSize := 30 //每个excel表需要的指标数
+	err := indexMerge(frequency, filePre, pageSize)
+	if err != nil {
+		fmt.Println("合并日度指标失败,err:", err)
 	}
 }
 
@@ -366,12 +375,13 @@ func IndexDayMerge() {
 func IndexWeekMerge() {
 	frequency := "周度"
 	filePre := "week"
-	pageSize := 30	//每个excel表需要的指标数
-	err := indexMerge(frequency,filePre,pageSize)
-	if err != nil{
-		fmt.Println("合并周度指标失败,err:",err)
+	pageSize := 30 //每个excel表需要的指标数
+	err := indexMerge(frequency, filePre, pageSize)
+	if err != nil {
+		fmt.Println("合并周度指标失败,err:", err)
 	}
 }
+
 //func IndexWeekMerge() {
 //	frequency := "周度"
 //	filePre := "week"
@@ -510,8 +520,8 @@ func IndexWeekMerge() {
 // @params frequency string 频度
 // @params filePre string 文件名前缀
 // @params pageSize int 每个excel表中的指标数量
-func indexMerge(frequency,filePre string,pageSize int)(err error){
-	firstIndexCount := pageSize	//第一个添加的excel表需要的指标数
+func indexMerge(frequency, filePre string, pageSize int) (err error) {
+	firstIndexCount := pageSize //第一个添加的excel表需要的指标数
 	indexObj := new(index.BaseFromMysteelChemicalIndex)
 
 	// 获取未合并的指标总数量
@@ -521,7 +531,7 @@ func indexMerge(frequency,filePre string,pageSize int)(err error){
 		return
 	}
 	//未合并的指标总数量小于等于0,说明没有需要合并的指标
-	if total <=0{
+	if total <= 0 {
 		return
 	}
 
@@ -556,10 +566,10 @@ func indexMerge(frequency,filePre string,pageSize int)(err error){
 	fmt.Println("maxFileIndex:", maxFileIndex)
 
 	// 除去第一个excel表的剩余需要添加的指标数量
-	nextTotal := int(total)-firstIndexCount
+	nextTotal := int(total) - firstIndexCount
 	// 总文件数
 	totalPage := paging.PageCount(nextTotal, pageSize)
-	totalPage = totalPage+1	//需要加上除去在外面的指标(第一张excel)
+	totalPage = totalPage + 1 //需要加上除去在外面的指标(第一张excel)
 	fmt.Println("total:", total)
 	fmt.Println("totalPage:", totalPage)
 	for i := 1; i <= totalPage; i++ {
@@ -572,19 +582,19 @@ func indexMerge(frequency,filePre string,pageSize int)(err error){
 		var list []*index.BaseFromMysteelChemicalIndex
 		// 需要查询的指标数
 		size := pageSize
-		if i == 1{
-			size = firstIndexCount	// 第一页需要合并的新指标数
+		if i == 1 {
+			size = firstIndexCount // 第一页需要合并的新指标数
 
 			// 第一页需要的指标列表
-			tmpList ,tmpErr := indexObj.GetIndexByFrequencyListByMergeFilePath(frequency,mergeIndexFilePath)
-			if tmpErr != nil{
+			tmpList, tmpErr := indexObj.GetIndexByFrequencyListByMergeFilePath(frequency, mergeIndexFilePath)
+			if tmpErr != nil {
 				fmt.Println("GetIndexByFrequencyListByMergeFilePath Err:" + tmpErr.Error())
 				err = tmpErr
 				return
 			}
 			list = tmpList
 		}
-		fmt.Println("需要查询",size,"个指标")
+		fmt.Println("需要查询", size, "个指标")
 
 		//fmt.Println(offset, pageSize)
 
@@ -596,8 +606,8 @@ func indexMerge(frequency,filePre string,pageSize int)(err error){
 			return
 		}
 
-		if len(list)>0{
-			pageList = append(pageList,list...)
+		if len(list) > 0 {
+			pageList = append(pageList, list...)
 		}
 
 		commentResult, tmpErr := GetIndexComment(mergeIndexFilePath, pageList, maxFileIndex)