|
@@ -6,6 +6,7 @@ import (
|
|
|
"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
|
|
|
"github.com/sirupsen/logrus"
|
|
|
"golang.org/x/net/context"
|
|
|
+ "sync"
|
|
|
"testing"
|
|
|
"time"
|
|
|
)
|
|
@@ -24,241 +25,228 @@ func TestTaskControl_Invoke(t *testing.T) {
|
|
|
{
|
|
|
name: "00", args: args{
|
|
|
TimeTester{PoolName: "00",
|
|
|
+ ConcurrentCount: 1,
|
|
|
+ JobCount: 5,
|
|
|
+ OneJobWaitTime: 1,
|
|
|
+ OneJobTimeOut: 2,
|
|
|
+ }},
|
|
|
+ successProcessCount: 5,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "01", args: args{
|
|
|
+ TimeTester{PoolName: "01",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ OneJobWaitTime: 1,
|
|
|
+ OneJobTimeOut: 2,
|
|
|
+ }},
|
|
|
+ successProcessCount: 5,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "02", args: args{
|
|
|
+ TimeTester{PoolName: "02",
|
|
|
+ ConcurrentCount: 3,
|
|
|
+ JobCount: 5,
|
|
|
+ OneJobWaitTime: 1,
|
|
|
+ OneJobTimeOut: 2,
|
|
|
+ }},
|
|
|
+ successProcessCount: 5,
|
|
|
+ },
|
|
|
+ // 超时的情况
|
|
|
+ {
|
|
|
+ name: "03", args: args{
|
|
|
+ TimeTester{PoolName: "03",
|
|
|
ConcurrentCount: 2,
|
|
|
JobCount: 5,
|
|
|
TimeAfterRelease: 5,
|
|
|
- OneJobWaitTime: 1,
|
|
|
- OneJobTimeOut: 2,
|
|
|
- SelfHold: true,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
NeedRelease: true}},
|
|
|
- successProcessCount: 5,
|
|
|
+ successProcessCount: 0,
|
|
|
},
|
|
|
{
|
|
|
- name: "01", args: args{
|
|
|
- TimeTester{PoolName: "01",
|
|
|
+ name: "04", args: args{
|
|
|
+ TimeTester{PoolName: "04",
|
|
|
ConcurrentCount: 2,
|
|
|
JobCount: 5,
|
|
|
TimeAfterRelease: 5,
|
|
|
- OneJobWaitTime: 1,
|
|
|
- OneJobTimeOut: 2,
|
|
|
- SelfHold: false,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
NeedRelease: false}},
|
|
|
- successProcessCount: 5,
|
|
|
+ successProcessCount: 0,
|
|
|
},
|
|
|
{
|
|
|
- name: "02", args: args{
|
|
|
- TimeTester{PoolName: "02",
|
|
|
+ name: "05", args: args{
|
|
|
+ TimeTester{PoolName: "05",
|
|
|
ConcurrentCount: 2,
|
|
|
JobCount: 5,
|
|
|
TimeAfterRelease: 5,
|
|
|
- OneJobWaitTime: 1,
|
|
|
- OneJobTimeOut: 2,
|
|
|
- SelfHold: false,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ // 主动触发 painic
|
|
|
+ {
|
|
|
+ name: "06", args: args{
|
|
|
+ TimeTester{PoolName: "06",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
+
|
|
|
+ NeedRelease: true,
|
|
|
+ WantPanic: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "07", args: args{
|
|
|
+ TimeTester{PoolName: "07",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
+
|
|
|
+ NeedRelease: false,
|
|
|
+ WantPanic: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "08", args: args{
|
|
|
+ TimeTester{PoolName: "08",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 1,
|
|
|
+
|
|
|
+ NeedRelease: true,
|
|
|
+ WantPanic: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ // 部分超时
|
|
|
+ {
|
|
|
+ name: "09", args: args{
|
|
|
+ TimeTester{PoolName: "09",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 3,
|
|
|
+ NeedRelease: true,
|
|
|
+ IndexOverThanAddMoreTime: 2}},
|
|
|
+ successProcessCount: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "10", args: args{
|
|
|
+ TimeTester{PoolName: "10",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 3,
|
|
|
+ NeedRelease: false,
|
|
|
+ IndexOverThanAddMoreTime: 2}},
|
|
|
+ successProcessCount: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "11", args: args{
|
|
|
+ TimeTester{PoolName: "11",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 5,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 3,
|
|
|
+ NeedRelease: true,
|
|
|
+ IndexOverThanAddMoreTime: 3}},
|
|
|
+ successProcessCount: 4,
|
|
|
+ },
|
|
|
+ // 使用 Release 取消
|
|
|
+ {
|
|
|
+ name: "12", args: args{
|
|
|
+ TimeTester{PoolName: "12",
|
|
|
+ ConcurrentCount: 1,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 2,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
NeedRelease: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "13", args: args{
|
|
|
+ TimeTester{PoolName: "13",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 2,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "14", args: args{
|
|
|
+ TimeTester{PoolName: "14",
|
|
|
+ ConcurrentCount: 2,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 4,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 2,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "15", args: args{
|
|
|
+ TimeTester{PoolName: "15",
|
|
|
+ ConcurrentCount: 1,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 3,
|
|
|
+ OneJobWaitTime: 2,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "16", args: args{
|
|
|
+ TimeTester{PoolName: "16",
|
|
|
+ ConcurrentCount: 3,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 4,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "17", args: args{
|
|
|
+ TimeTester{PoolName: "17",
|
|
|
+ ConcurrentCount: 4,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 4,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
+ successProcessCount: 4,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "18", args: args{
|
|
|
+ TimeTester{PoolName: "18",
|
|
|
+ ConcurrentCount: 5,
|
|
|
+ JobCount: 5,
|
|
|
+ TimeAfterRelease: 4,
|
|
|
+ OneJobWaitTime: 3,
|
|
|
+ OneJobTimeOut: 4,
|
|
|
+
|
|
|
+ NeedRelease: true}},
|
|
|
successProcessCount: 5,
|
|
|
},
|
|
|
- //// 超时的情况
|
|
|
- //{
|
|
|
- // name: "03", args: args{
|
|
|
- // TimeTester{PoolName: "03",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "04", args: args{
|
|
|
- // TimeTester{PoolName: "04",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: false}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "05", args: args{
|
|
|
- // TimeTester{PoolName: "05",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //// 主动触发 painic
|
|
|
- //{
|
|
|
- // name: "06", args: args{
|
|
|
- // TimeTester{PoolName: "06",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true,
|
|
|
- // WantPanic: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "07", args: args{
|
|
|
- // TimeTester{PoolName: "07",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: false,
|
|
|
- // WantPanic: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "08", args: args{
|
|
|
- // TimeTester{PoolName: "08",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 1,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: true,
|
|
|
- // WantPanic: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //// 部分超时
|
|
|
- //{
|
|
|
- // name: "09", args: args{
|
|
|
- // TimeTester{PoolName: "09",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 3,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true,
|
|
|
- // IndexOverThanAddMoreTime: 2}},
|
|
|
- // successProcessCount: 3,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "10", args: args{
|
|
|
- // TimeTester{PoolName: "10",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 3,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: false,
|
|
|
- // IndexOverThanAddMoreTime: 2}},
|
|
|
- // successProcessCount: 3,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "11", args: args{
|
|
|
- // TimeTester{PoolName: "11",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 5,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 3,
|
|
|
- // SelfHold: false,
|
|
|
- // NeedRelease: true,
|
|
|
- // IndexOverThanAddMoreTime: 3}},
|
|
|
- // successProcessCount: 4,
|
|
|
- //},
|
|
|
- //// 使用 Release 取消
|
|
|
- //{
|
|
|
- // name: "12", args: args{
|
|
|
- // TimeTester{PoolName: "12",
|
|
|
- // ConcurrentCount: 1,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 2,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "13", args: args{
|
|
|
- // TimeTester{PoolName: "13",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 2,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 0,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "14", args: args{
|
|
|
- // TimeTester{PoolName: "14",
|
|
|
- // ConcurrentCount: 2,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 4,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 2,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "15", args: args{
|
|
|
- // TimeTester{PoolName: "15",
|
|
|
- // ConcurrentCount: 1,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 3,
|
|
|
- // OneJobWaitTime: 2,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 1,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "16", args: args{
|
|
|
- // TimeTester{PoolName: "16",
|
|
|
- // ConcurrentCount: 3,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 4,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 3,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "17", args: args{
|
|
|
- // TimeTester{PoolName: "17",
|
|
|
- // ConcurrentCount: 4,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 4,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 4,
|
|
|
- //},
|
|
|
- //{
|
|
|
- // name: "18", args: args{
|
|
|
- // TimeTester{PoolName: "18",
|
|
|
- // ConcurrentCount: 5,
|
|
|
- // JobCount: 5,
|
|
|
- // TimeAfterRelease: 4,
|
|
|
- // OneJobWaitTime: 3,
|
|
|
- // OneJobTimeOut: 4,
|
|
|
- // SelfHold: true,
|
|
|
- // NeedRelease: true}},
|
|
|
- // successProcessCount: 5,
|
|
|
- //},
|
|
|
}
|
|
|
for _, tt := range tests {
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
@@ -274,7 +262,9 @@ func TestTaskControl_Invoke(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func process(name string, timeTester TimeTester) ([]int64, []int64, []int64, error) {
|
|
|
+func process(name string, timeTester TimeTester) ([]int, []int, []int, error) {
|
|
|
+
|
|
|
+ once := sync.Once{}
|
|
|
|
|
|
tc, err := NewTaskControl(timeTester.ConcurrentCount, log_helper.NewLogHelper(name, logrus.DebugLevel, time.Duration(7*24)*time.Hour, time.Duration(24)*time.Hour))
|
|
|
if err != nil {
|
|
@@ -283,49 +273,37 @@ func process(name string, timeTester TimeTester) ([]int64, []int64, []int64, err
|
|
|
tc.SetCtxProcessFunc(timeTester.PoolName, waitTimes, timeTester.OneJobTimeOut)
|
|
|
|
|
|
for i := 0; i < timeTester.JobCount; i++ {
|
|
|
- go func(index int64) {
|
|
|
- err := tc.Invoke(&TaskData{Index: index,
|
|
|
- DataEx: DataEx{
|
|
|
- OneJobWaitTime: timeTester.OneJobWaitTime,
|
|
|
- WantPanic: timeTester.WantPanic,
|
|
|
- IndexOverThanAddMoreTime: int64(timeTester.IndexOverThanAddMoreTime),
|
|
|
- }})
|
|
|
- if err != nil {
|
|
|
- tc.log.Errorln("Index:", index, "Error", err)
|
|
|
- }
|
|
|
- }(int64(i))
|
|
|
- }
|
|
|
|
|
|
- go func() {
|
|
|
- if timeTester.NeedRelease == false {
|
|
|
- tc.log.Infoln("Do not need Release")
|
|
|
- return
|
|
|
- }
|
|
|
- tc.log.Infoln("Release After", timeTester.TimeAfterRelease, "Second")
|
|
|
- time.Sleep(time.Duration(timeTester.TimeAfterRelease) * time.Second)
|
|
|
- tc.Release()
|
|
|
- }()
|
|
|
+ once.Do(func() {
|
|
|
+ go func() {
|
|
|
+ if timeTester.NeedRelease == false {
|
|
|
+ tc.log.Infoln("Do not need Release")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tc.log.Infoln("Release After", timeTester.TimeAfterRelease, "Second")
|
|
|
+ time.Sleep(time.Duration(timeTester.TimeAfterRelease) * time.Second)
|
|
|
+ tc.Release()
|
|
|
+ }()
|
|
|
+ })
|
|
|
|
|
|
- fmt.Println("-------------------------------")
|
|
|
- if timeTester.SelfHold == true {
|
|
|
+ err := tc.Invoke(&TaskData{Index: i,
|
|
|
+ DataEx: DataEx{
|
|
|
+ OneJobWaitTime: timeTester.OneJobWaitTime,
|
|
|
+ WantPanic: timeTester.WantPanic,
|
|
|
+ IndexOverThanAddMoreTime: timeTester.IndexOverThanAddMoreTime,
|
|
|
+ }})
|
|
|
+ if err != nil {
|
|
|
+ tc.log.Errorln("Index:", i, "Error", err)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- fmt.Println("Start Hold")
|
|
|
- tc.Hold()
|
|
|
- fmt.Println("End Hold")
|
|
|
- } else {
|
|
|
+ tc.Hold()
|
|
|
|
|
|
- waitTime := timeTester.JobCount * timeTester.OneJobWaitTime
|
|
|
- fmt.Printf("wait %ds start\n", waitTime)
|
|
|
- time.Sleep(time.Duration(waitTime) * time.Second)
|
|
|
- fmt.Printf("wait %ds end\n", waitTime)
|
|
|
- }
|
|
|
fmt.Println("-------------------------------")
|
|
|
|
|
|
// 获取提前终止的计数器以及完成的计数器
|
|
|
successList, noExecuteList, errorList := tc.GetExecuteInfo()
|
|
|
|
|
|
- tc.Release()
|
|
|
-
|
|
|
return successList, noExecuteList, errorList, nil
|
|
|
}
|
|
|
|
|
@@ -378,7 +356,6 @@ type TimeTester struct {
|
|
|
TimeAfterRelease int // 开始后等待多久执行 Release 操作
|
|
|
OneJobWaitTime int // 单个任务得耗时
|
|
|
OneJobTimeOut int // 单个任务的超时时间
|
|
|
- SelfHold bool // 是否需要自身的等待,如果使用了,那么一定需要 Release
|
|
|
NeedRelease bool // 是否需要主动执行 Release
|
|
|
WantPanic bool // 触发 panic
|
|
|
IndexOverThanAddMoreTime int // waitTimes函数中某个 Index 之后都会在等待处理上多加延时以便触发超时逻辑
|
|
@@ -387,5 +364,5 @@ type TimeTester struct {
|
|
|
type DataEx struct {
|
|
|
OneJobWaitTime int
|
|
|
WantPanic bool
|
|
|
- IndexOverThanAddMoreTime int64
|
|
|
+ IndexOverThanAddMoreTime int
|
|
|
}
|