refactor(vermeer): make startChan's size configurable (#328)
* refactor(startChan): make startChan's size configurable
* Update vermeer/config/master.ini
---------
Co-authored-by: imbajin <jin@apache.org>
diff --git a/vermeer/apps/master/bl/scheduler_bl.go b/vermeer/apps/master/bl/scheduler_bl.go
index 0f1af09..bc4ccac 100644
--- a/vermeer/apps/master/bl/scheduler_bl.go
+++ b/vermeer/apps/master/bl/scheduler_bl.go
@@ -19,7 +19,9 @@
import (
"errors"
+ "strconv"
"time"
+ "vermeer/apps/common"
"vermeer/apps/master/schedules"
"vermeer/apps/structure"
@@ -36,7 +38,16 @@
}
func (s *ScheduleBl) Init() {
- startChan := make(chan *structure.TaskInfo, 10) // TODO: make configurable
+ const defaultChanSizeConfig = "10"
+ chanSize := common.GetConfigDefault("start_chan_size", defaultChanSizeConfig).(string)
+ // Convert string to int
+ chanSizeInt, err := strconv.Atoi(chanSize)
+ if err != nil {
+ logrus.Errorf("failed to convert start_chan_size to int: %v", err)
+ logrus.Infof("using default start_chan_size: %s", defaultChanSizeConfig)
+ chanSizeInt, _ = strconv.Atoi(defaultChanSizeConfig)
+ }
+ startChan := make(chan *structure.TaskInfo, chanSizeInt)
s.startChan = startChan
s.spaceQueue = (&schedules.SpaceQueue{}).Init()
s.broker = (&schedules.Broker{}).Init()
diff --git a/vermeer/config/master.ini b/vermeer/config/master.ini
index d589703..8a7adb1 100644
--- a/vermeer/config/master.ini
+++ b/vermeer/config/master.ini
@@ -23,4 +23,5 @@
task_strategy=1
task_parallel_num=1
auth=none
-auth_token_factor=1234
\ No newline at end of file
+auth_token_factor=1234
+start_chan_size=10