2015-01-13 2 views
1

На странице «Задачи администратора Beego», чтобы отобразить экран задачи и запустить кнопку «Запуск»? Кнопка запуска не работает, и только ссылки на http://localhost:8888/task?taskname= без имени задачи.Страница задания Beego Admin не работает

Есть ли причина, почему? Ниже мой код задача:

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() 
+0

Является ли эта строка 'отложить toolbox.StopTask()' вызывается в главной функции или инициализации функции. Если это не основная функция, удалите эту строку и попробуйте. – Bryce

ответ

0

Это может быть проблемой синхронизации (без ожидания/задержки после этапов AddTask/StartTask).
Try и посмотреть, если определение нескольких задач, как они определены в 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 
} 
+0

Я пробовал это в задаче, но теперь, когда я запускаю пчел, приложение не будет полностью останавливаться посередине. Я вызываю эту задачу func из моей функции main.go init –

Смежные вопросы