package job import ( "91porn-server/skd/job/elastic/esmedia" "91porn-server/skd/job/elastic/esuser" "sync" "time" "91porn-server/common" "91porn-server/common/log" "91porn-server/skd/job/elastic/estag" "91porn-server/skd/job/elastic/esvideo" "91porn-server/skd/skdg" ) var syncIsRuining = false // start 定时任务 开启 func runSync() { //防止重入 if syncIsRuining { return } syncIsRuining = true defer func() { syncIsRuining = false }() doSync() //做统计业务 } // 做统计业务 func doSync() { defaultSyncDate, err := getDefaultSyncDate() if err != nil { log.Error("defaultStatDate invalid", log.E(err)) return } wg := sync.WaitGroup{} wg.Add(5) // 同步数据 { common.Go(func() { defer wg.Done() esuser.RunSync(defaultSyncDate) }) common.Go(func() { defer wg.Done() esvideo.RunSync(defaultSyncDate) }) common.Go(func() { defer wg.Done() esmedia.RunSync(defaultSyncDate) }) common.Go(func() { defer wg.Done() estag.RunSync(defaultSyncDate) }) common.Go(func() { defer wg.Done() vidDate, err := time.ParseInLocation("2006-01-02", "2023-09-22", time.Local) if err == nil { defaultSyncDate = vidDate } // 同步短视频数据到REDIS //rdvideo.RunSync(defaultSyncDate) }) } wg.Wait() } func getDefaultSyncDate() (time.Time, error) { return time.ParseInLocation("2006-01-02", skdg.Conf.StartDate, time.Local) }