diff --git a/vermeer/apps/master/bl/scheduler_bl.go b/vermeer/apps/master/bl/scheduler_bl.go index 0f1af0956..bc4ccac49 100644 --- a/vermeer/apps/master/bl/scheduler_bl.go +++ b/vermeer/apps/master/bl/scheduler_bl.go @@ -19,7 +19,9 @@ package bl import ( "errors" + "strconv" "time" + "vermeer/apps/common" "vermeer/apps/master/schedules" "vermeer/apps/structure" @@ -36,7 +38,16 @@ type ScheduleBl struct { } 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 d58970316..8a7adb133 100644 --- a/vermeer/config/master.ini +++ b/vermeer/config/master.ini @@ -23,4 +23,5 @@ run_mode=master 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