package services import ( "context" "eta_gn/eta_task/services/data" "eta_gn/eta_task/services/data_stat" "eta_gn/eta_task/utils" "fmt" "sync" "time" "github.com/beego/beego/v2/task" ) func Task() { fmt.Println("task start") if utils.RunMode == "release" || utils.IsStartReleaseTask { releaseTask() } publishReport := task.NewTask("publishReport", "0 */1 * * * *", PublishReport) task.AddTask("定时发布研报", publishReport) setEdbSourceStatTask := task.NewTask("setEdbSourceStatTask", "0 20 19,23 * * *", data_stat.SetEdbSourceStatTask) task.AddTask("数据源统计表", setEdbSourceStatTask) GnTask() task.StartTask() fmt.Println("task end") } func releaseTask() { initPositionTask := task.NewTask("initPositionTask", "0 20,40 16-19 * * *", data.InitPositionTask) task.AddTask("initPositionTask", initPositionTask) refreshData := task.NewTask("refreshData", "0 30 0,19 * * *", RefreshData) task.AddTask("refreshData", refreshData) configRefreshData := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", ConfigRefreshDataGn) task.AddTask("configRefreshData", configRefreshData) syncBaseDataExt := task.NewTask("syncBaseDataExt", "0 */30 * * * * ", SyncBaseDataExt) task.AddTask("syncBaseDataExt", syncBaseDataExt) resetEdbInfoIsUpdate := task.NewTask("resetEdbInfoIsUpdate", "0 0 0 * * *", data.ResetEdbInfoIsUpdate) task.AddTask("resetEdbInfoIsUpdate", resetEdbInfoIsUpdate) deleteLog := task.NewTask("syncSubStatus", "0 0 2 2 * *", DeleteLog) task.AddTask("deleteLog", deleteLog) publishEnglishReport := task.NewTask("publishEnglishReport", "0 */1 * * * *", PublishEnglishReport) task.AddTask("定时发布英文研报", publishEnglishReport) clearReportSaveLog := task.NewTask("clearReportSaveLog", "0 15 23 * * *", ClearReportSaveLog) task.AddTask("定时清理报告保存日志", clearReportSaveLog) clearAdminOperateLog := task.NewTask("clearAdminOperateLog", "0 20 23 * * *", ClearAdminOperateLog) task.AddTask("定时清理用户操作日志", clearAdminOperateLog) } func RefreshData(cont context.Context) (err error) { wg := sync.WaitGroup{} go func() { wg.Add(1) data.RefreshDataFromManual(&wg) }() go func() { wg.Add(1) data.NoneConfigRefreshDataGn(&wg) }() wg.Wait() data.RefreshDataFromCalculateAll() data.RefreshBasePredictDataAll() data.RefreshPredictDataFromCalculateAll() _ = data.RefreshFactorEdbCalculateData() _ = data.RefreshFactorEdbChartCalculateData() time.Sleep(5 * time.Second) fmt.Println("Refresh End") return } func SyncBaseDataExt(cont context.Context) (err error) { now := time.Now() if now.Hour() == 0 || now.Hour() == 19 { return nil } go data.SyncManualDataBase() go data.SetChartEdbEndDate() return }