Bläddra i källkod

feat:time.After

wangshan 1 år sedan
förälder
incheckning
1feb9aea80
1 ändrade filer med 1 tillägg och 6 borttagningar
  1. 1 6
      internal/dao/internal/userTask.go

+ 1 - 6
internal/dao/internal/userTask.go

@@ -38,7 +38,6 @@ type UserTask struct {
 	FormatParam          entity.AnalysisRequestFormat //格式化
 	MatchingMode         string                       //匹配方式 title:标题 content:项目名称/标的物
 	Started              int32                        // 标志字段,表示任务是否已经启动
-	Ticker               *time.Ticker                 //
 	Result               *CalculateResult             //结果集
 	MonthDistributionKey []entity.DateSpan            //月度分配key
 	YearDistributionKey  []entity.DateSpan            //年度分配key
@@ -59,7 +58,6 @@ func NewUserInfo() *UserTask {
 	return &UserTask{
 		PInfo:         make(chan *entity.ProjectInfo, do.TaskConfig.UserTask.PtChan),
 		AnalysisParam: entity.AnalyzeParameters{},
-		Ticker:        time.NewTicker(time.Duration(do.TaskConfig.UserTask.Ticker) * time.Second),
 		Result: &CalculateResult{
 			Scale:          &entity.MarketScaleMain{},      // 市场概况+时间分布
 			TopProject:     &entity.MarketTopProject{},     // 项目规模TOP10 集合
@@ -93,8 +91,6 @@ func (ut *UserTask) Run() {
 		}
 		select {
 		case info := <-ut.PInfo:
-			ut.Ticker.Stop()
-			ut.Ticker = time.NewTicker(time.Duration(do.TaskConfig.UserTask.Ticker) * time.Second)
 			//项目信息匹配
 			if ut.MatchConditions(info) {
 				ut.CalculateLock.Lock()
@@ -102,7 +98,7 @@ func (ut *UserTask) Run() {
 				ut.Calculate(info)
 				ut.CalculateLock.Unlock()
 			}
-		case <-ut.Ticker.C:
+		case <-time.After(time.Duration(do.TaskConfig.UserTask.Ticker)):
 			//是否已取消
 			if !ut.IsCancel {
 				ut.IsCancel = utility.IsAnalyzeCancel(ut.RId)
@@ -1285,7 +1281,6 @@ func (ut *UserTask) Reset() {
 	close(ut.PInfo)
 	ut.IsEnd = false
 	ut.Started = 0
-	ut.Ticker.Stop()
 }
 
 // ForMatData 获取格式化请求参数