1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package task
- import (
- "analyze/internal/model/do"
- "analyze/internal/service"
- "context"
- "fmt"
- "github.com/gogf/gf/v2/frame/g"
- "time"
- )
- func Manage(ctx context.Context) {
- //
- if do.TaskConfig.MarketAnalysis.TaskRun {
- MarketAnalysisOffline(ctx)
- }
- }
- // 市场分析报告
- func MarketAnalysisOffline(ctx context.Context) {
- CrontabByTicker(do.TaskConfig.MarketAnalysis.FirstRun, do.TaskConfig.MarketAnalysis.Ticker, func() {
- //离线 市场分析报告 处理
- g.Log().Info(ctx, "----------------------start-------------")
- service.InitUserInfo(ctx)
- g.Log().Info(ctx, "----------------------end-------------")
- })
- }
- // CrontabByTicker 定时任务
- func CrontabByTicker(flag bool, countdown int, f func()) {
- if flag {
- go f()
- }
- ticker := time.NewTicker(time.Duration(countdown) * time.Second)
- go func(t *time.Ticker) {
- for {
- select {
- case <-t.C:
- go f()
- fmt.Println("get ticker", time.Now().Format("2006-01-02 15:04:05"))
- }
- }
- }(ticker)
- }
|