MCPcopy Create free account
hub / github.com/devfeel/dottask / startLoopTask

Function startLoopTask

looptask.go:103–122  ·  view source on GitHub ↗

start loop task

(task *LoopTask)

Source from the content-addressed store, hash-verified

101
102//start loop task
103func 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
124func doLoopTask(task *LoopTask) {
125 taskCtx := task.getTaskContext()

Callers 2

StartMethod · 0.85
doLoopTaskFunction · 0.85

Calls 1

doLoopTaskFunction · 0.85

Tested by

no test coverage detected