- close quitChan when Cancel for tasksch.

This commit is contained in:
gazebo
2018-10-21 13:47:53 +08:00
parent 1a9ff7e575
commit 0fb6fe27fe
4 changed files with 31 additions and 25 deletions

View File

@@ -1,6 +1,7 @@
package tasksch
import (
"fmt"
"math/rand"
"testing"
"time"
@@ -45,7 +46,7 @@ func TestCancelParallelTask(t *testing.T) {
}
task := RunParallelTask("test", NewParallelConfig().SetParallelCount(100).SetBatchSize(7), "autotest", func(task *ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
sleepSecond := rand.Intn(5)
t.Logf("sleep %d seconds", sleepSecond)
fmt.Printf("sleep %d seconds\n", sleepSecond)
time.Sleep(time.Duration(sleepSecond) * time.Second)
retSlice := make([]string, len(batchItemList))
for k := range retSlice {
@@ -54,7 +55,7 @@ func TestCancelParallelTask(t *testing.T) {
return retSlice, nil
}, itemList, "a", "b", 1, 2)
// time.Sleep(time.Second * 6)
t.Logf("finishedItemCount:%d, finishedJobCount:%d", task.GetFinishedItemCount(), task.GetFinishedJobCount())
fmt.Printf("finishedItemCount:%d, finishedJobCount:%d\n", task.GetFinishedItemCount(), task.GetFinishedJobCount())
task.Cancel()
_, err := task.GetResult(0)
if err != ErrTaskIsCanceled {