toolbox: fix the go routine asleep
Showing
1 changed file
with
7 additions
and
0 deletions
| ... | @@ -34,6 +34,7 @@ var ( | ... | @@ -34,6 +34,7 @@ var ( |
| 34 | AdminTaskList map[string]Tasker | 34 | AdminTaskList map[string]Tasker |
| 35 | stop chan bool | 35 | stop chan bool |
| 36 | changed chan bool | 36 | changed chan bool |
| 37 | isstart bool | ||
| 37 | seconds = bounds{0, 59, nil} | 38 | seconds = bounds{0, 59, nil} |
| 38 | minutes = bounds{0, 59, nil} | 39 | minutes = bounds{0, 59, nil} |
| 39 | hours = bounds{0, 23, nil} | 40 | hours = bounds{0, 23, nil} |
| ... | @@ -380,6 +381,7 @@ func dayMatches(s *Schedule, t time.Time) bool { | ... | @@ -380,6 +381,7 @@ func dayMatches(s *Schedule, t time.Time) bool { |
| 380 | 381 | ||
| 381 | // start all tasks | 382 | // start all tasks |
| 382 | func StartTask() { | 383 | func StartTask() { |
| 384 | isstart = true | ||
| 383 | go run() | 385 | go run() |
| 384 | } | 386 | } |
| 385 | 387 | ||
| ... | @@ -422,19 +424,24 @@ func run() { | ... | @@ -422,19 +424,24 @@ func run() { |
| 422 | 424 | ||
| 423 | // start all tasks | 425 | // start all tasks |
| 424 | func StopTask() { | 426 | func StopTask() { |
| 427 | isstart = false | ||
| 425 | stop <- true | 428 | stop <- true |
| 426 | } | 429 | } |
| 427 | 430 | ||
| 428 | // add task with name | 431 | // add task with name |
| 429 | func AddTask(taskname string, t Tasker) { | 432 | func AddTask(taskname string, t Tasker) { |
| 430 | AdminTaskList[taskname] = t | 433 | AdminTaskList[taskname] = t |
| 434 | if isstart { | ||
| 431 | changed <- true | 435 | changed <- true |
| 436 | } | ||
| 432 | } | 437 | } |
| 433 | 438 | ||
| 434 | // add task with name | 439 | // add task with name |
| 435 | func DeleteTask(taskname string) { | 440 | func DeleteTask(taskname string) { |
| 436 | delete(AdminTaskList, taskname) | 441 | delete(AdminTaskList, taskname) |
| 442 | if isstart { | ||
| 437 | changed <- true | 443 | changed <- true |
| 444 | } | ||
| 438 | } | 445 | } |
| 439 | 446 | ||
| 440 | // sort map for tasker | 447 | // sort map for tasker | ... | ... |
-
Please register or sign in to post a comment