use separate worker for long running tasks, such as ImageConvertTask,

ImageCheckTask, CloudProviderSyncInfoTask
This commit is contained in:
Qiu Jian
2018-12-27 16:19:24 +08:00
parent a99ded14e3
commit df41b7cdcd
8 changed files with 62 additions and 21 deletions
+3 -1
View File
@@ -5,6 +5,7 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/appsrv"
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
"yunion.io/x/onecloud/pkg/image/models"
@@ -15,7 +16,8 @@ type ImageCheckTask struct {
}
func init() {
taskman.RegisterTask(ImageCheckTask{})
checkWorker := appsrv.NewWorkerManager("ImageCheckTaskWorkerManager", 2, 1024, true)
taskman.RegisterTaskAndWorker(ImageCheckTask{}, checkWorker)
}
func (self *ImageCheckTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
+3 -1
View File
@@ -5,6 +5,7 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/appsrv"
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
"yunion.io/x/onecloud/pkg/image/models"
@@ -15,7 +16,8 @@ type ImageConvertTask struct {
}
func init() {
taskman.RegisterTask(ImageConvertTask{})
convertWorker := appsrv.NewWorkerManager("ImageConvertTaskWorkerManager", 2, 512, true)
taskman.RegisterTaskAndWorker(ImageConvertTask{}, convertWorker)
}
func (self *ImageConvertTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {