在Beego admin Tasks页面让Task Spec出现,让Run按钮起作用?运行按钮似乎不起作用,只是链接到 http://localhost:8888/task?taskname=
,没有任何任务名称。
有什么原因吗?下面是我的任务代码:
tk1 := toolbox.NewTask("task1", "0/10 * * * * * ", func() error {
fmt.Printf("task1 task ran at: %s\n", time.Now())
return nil
})
toolbox.AddTask("task1", tk1)
toolbox.StartTask()
defer toolbox.StopTask()
最佳答案
这可能是一个同步问题(在 AddTask
/StartTask
步骤之后没有等待/延迟)。
尝试看看是否按照在 toolbox/task_test.go
中定义的方式定义了几个任务会更好:
func TestSpec(t *testing.T) {
wg := &sync.WaitGroup{}
wg.Add(2)
tk1 := NewTask("tk1", "0 12 * * * *", func() error { fmt.Println("tk1"); return nil })
tk2 := NewTask("tk2", "0,10,20 * * * * *", func() error { fmt.Println("tk2"); wg.Done(); return nil })
tk3 := NewTask("tk3", "0 10 * * * *", func() error { fmt.Println("tk3"); wg.Done(); return nil })
AddTask("tk1", tk1)
AddTask("tk2", tk2)
AddTask("tk3", tk3)
StartTask()
defer StopTask()
select {
case <-time.After(200 * time.Second):
t.FailNow()
case <-wait(wg):
}
}
func wait(wg *sync.WaitGroup) chan bool {
ch := make(chan bool)
go func() {
wg.Wait()
ch <- true
}()
return ch
}
关于go - Beego Admin 任务页面打不开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922410/