start loop task
(task *LoopTask)
| 101 | |
| 102 | //start loop task |
| 103 | func startLoopTask(task *LoopTask) { |
| 104 | doFunc := func() { |
| 105 | task.TimeTicker = time.NewTicker(time.Duration(task.Interval) * time.Millisecond) |
| 106 | doLoopTask(task) |
| 107 | for { |
| 108 | select { |
| 109 | case <-task.TimeTicker.C: |
| 110 | doLoopTask(task) |
| 111 | } |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | //等待设定的延时毫秒 |
| 116 | if task.DueTime > 0 { |
| 117 | go time.AfterFunc(time.Duration(task.DueTime)*time.Millisecond, doFunc) |
| 118 | } else { |
| 119 | go doFunc() |
| 120 | } |
| 121 | |
| 122 | } |
| 123 | |
| 124 | func doLoopTask(task *LoopTask) { |
| 125 | taskCtx := task.getTaskContext() |
no test coverage detected