修正:worker timeout之后需要从worker

manager中移除,不再占用worker的数量限额,否则timeout之后,并不能解决整个服务被卡住的问题
This commit is contained in:
Qiu Jian
2018-10-22 01:38:52 +08:00
parent 0dbc93725d
commit 4d1d4e56fd
7 changed files with 185 additions and 59 deletions
+2 -2
View File
@@ -8,7 +8,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
)
var taskWorkMan *appsrv.WorkerManager
var taskWorkMan *appsrv.SWorkerManager
func init() {
taskWorkMan = appsrv.NewWorkerManager("TaskWorkerManager", 4, 100)
@@ -22,5 +22,5 @@ func AddTaskHandler(prefix string, app *appsrv.Application) {
func runTask(taskId string, data jsonutils.JSONObject) {
taskWorkMan.Run(func() {
TaskManager.execTask(taskId, data)
}, nil)
}, nil, nil)
}
@@ -9,7 +9,7 @@ import (
"yunion.io/x/onecloud/pkg/appsrv"
)
var localTaskWorkerMan *appsrv.WorkerManager
var localTaskWorkerMan *appsrv.SWorkerManager
func init() {
localTaskWorkerMan = appsrv.NewWorkerManager("LocalTaskWorkerManager", 4, 10)
@@ -42,5 +42,5 @@ func LocalTaskRun(task ITask, proc func() (jsonutils.JSONObject, error)) {
task.ScheduleRun(data)
}
}, nil)
}, nil, nil)
}