File tree 3 files changed +22
-8
lines changed
3 files changed +22
-8
lines changed Original file line number Diff line number Diff line change 4
4
"Schema" : " test" ,
5
5
"S3Region" : " us-east-1" ,
6
6
"ParallelNumber" : 4 ,
7
- "MaxExecutorNumber" :30 ,
8
7
"MaxConcurrentTaskNumber" : 4 ,
9
- "QueueSize " : 100
8
+ "MaxQueueSize " : 100
10
9
},
11
10
12
11
"FileConnectorConfigs" :{
Original file line number Diff line number Diff line change @@ -75,17 +75,32 @@ func (self *Queue) Delete(task *Task) error {
75
75
return nil
76
76
}
77
77
78
- func (self * Queue ) Add (task * Task ) {
78
+ func (self * Queue ) AddForce (task * Task ) error {
79
79
self .Lock ()
80
80
defer self .Unlock ()
81
81
82
82
ln := len (self .Tasks )
83
- if ln >= int (self .MaxQueueSize ) && self . Tasks . Len () > 0 {
83
+ if ln >= int (self .MaxQueueSize ) {
84
84
self .Tasks [0 ] = task
85
85
} else {
86
86
self .Tasks = append (self .Tasks , task )
87
87
}
88
88
sort .Sort (self .Tasks )
89
+ return nil
90
+ }
91
+
92
+ func (self * Queue ) Add (task * Task ) error {
93
+ self .Lock ()
94
+ defer self .Unlock ()
95
+
96
+ ln := len (self .Tasks )
97
+ if ln >= int (self .MaxQueueSize ) {
98
+ return fmt .Errorf ("queue is full" )
99
+ } else {
100
+ self .Tasks = append (self .Tasks , task )
101
+ }
102
+ sort .Sort (self .Tasks )
103
+ return nil
89
104
}
90
105
91
106
func (self * Queue ) HasTask (taskId string ) bool {
Original file line number Diff line number Diff line change @@ -74,13 +74,13 @@ func (self *Scheduler) AddTask(task *Task) (err error) {
74
74
defer self .Unlock ()
75
75
76
76
if task .Status == pb .TaskStatus_TODO {
77
- self .TodoQueue .Add (task )
77
+ return self .TodoQueue .Add (task )
78
78
} else if task .Status == pb .TaskStatus_ERROR {
79
- self .ErrorQueue .Add (task )
79
+ return self .ErrorQueue .AddForce (task )
80
80
} else if task .Status == pb .TaskStatus_SUCCEED {
81
- self .SucceedQueue .Add (task )
81
+ return self .SucceedQueue .AddForce (task )
82
82
} else if task .Status == pb .TaskStatus_RUNNING {
83
- self .RunningQueue .Add (task )
83
+ return self .RunningQueue .Add (task )
84
84
} else {
85
85
return fmt .Errorf ("unknown task status" )
86
86
}
You can’t perform that action at this time.
0 commit comments