1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 15:50:56 +00:00

toolbox: add notify when add & delete task

This commit is contained in:
astaxie 2014-08-21 15:56:34 +08:00
parent 0a967875da
commit 03eb1fc104

View File

@ -33,6 +33,7 @@ type bounds struct {
var ( var (
AdminTaskList map[string]Tasker AdminTaskList map[string]Tasker
stop chan bool stop chan bool
changed chan bool
seconds = bounds{0, 59, nil} seconds = bounds{0, 59, nil}
minutes = bounds{0, 59, nil} minutes = bounds{0, 59, nil}
hours = bounds{0, 23, nil} hours = bounds{0, 23, nil}
@ -411,6 +412,8 @@ func run() {
e.SetNext(effective) e.SetNext(effective)
} }
continue continue
case <-changed:
continue
case <-stop: case <-stop:
return return
} }
@ -425,6 +428,13 @@ func StopTask() {
// add task with name // add task with name
func AddTask(taskname string, t Tasker) { func AddTask(taskname string, t Tasker) {
AdminTaskList[taskname] = t AdminTaskList[taskname] = t
changed <- true
}
// add task with name
func DeleteTask(taskname string) {
delete(AdminTaskList, taskname)
changed <- true
} }
// sort map for tasker // sort map for tasker
@ -578,4 +588,5 @@ func all(r bounds) uint64 {
func init() { func init() {
AdminTaskList = make(map[string]Tasker) AdminTaskList = make(map[string]Tasker)
stop = make(chan bool) stop = make(chan bool)
changed = make(chan bool)
} }