diff --git a/pkg/baremetal/tasks/worker.go b/pkg/baremetal/tasks/worker.go index 768c2d5f28..700e505495 100644 --- a/pkg/baremetal/tasks/worker.go +++ b/pkg/baremetal/tasks/worker.go @@ -24,16 +24,16 @@ import ( "yunion.io/x/log" "yunion.io/x/onecloud/pkg/appsrv" + "yunion.io/x/onecloud/pkg/baremetal/options" "yunion.io/x/onecloud/pkg/mcclient/modules" ) var baremetalTaskWorkerMan *appsrv.SWorkerManager -func init() { - baremetalTaskWorkerMan = appsrv.NewWorkerManager("BaremetalTaskWorkerManager", 4, 1024, false) -} - func GetWorkManager() *appsrv.SWorkerManager { + if baremetalTaskWorkerMan == nil { + baremetalTaskWorkerMan = appsrv.NewWorkerManager("BaremetalTaskWorkerManager", options.Options.TaskWorkerCount, 1024, false) + } return baremetalTaskWorkerMan } @@ -62,7 +62,7 @@ func ExecuteTask(task ITask, args interface{}) { task: task, args: args, } - baremetalTaskWorkerMan.Run(t, nil, nil) + GetWorkManager().Run(t, nil, nil) } func executeTask(task ITask, args interface{}) {