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
@@ -6,13 +6,15 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/utils"
"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/cloudprovider"
"yunion.io/x/onecloud/pkg/compute/models"
"yunion.io/x/onecloud/pkg/compute/skus"
"yunion.io/x/onecloud/pkg/util/logclient"
"yunion.io/x/pkg/utils"
)
type CloudProviderSyncInfoTask struct {
@@ -20,7 +22,8 @@ type CloudProviderSyncInfoTask struct {
}
func init() {
taskman.RegisterTask(CloudProviderSyncInfoTask{})
syncWorker := appsrv.NewWorkerManager("CloudProviderSyncInfoTaskWorkerManager", 2, 512, true)
taskman.RegisterTaskAndWorker(CloudProviderSyncInfoTask{}, syncWorker)
}
func getAction(params *jsonutils.JSONDict) string {
+3 -2
View File
@@ -25,7 +25,7 @@ func (self *GuestStartTask) OnInit(ctx context.Context, obj db.IStandaloneModel,
}
func (self *GuestStartTask) checkTemplate(ctx context.Context, guest *models.SGuest) {
diskCat := guest.CategorizeDisks()
/*diskCat := guest.CategorizeDisks()
if diskCat.Root != nil && len(diskCat.Root.GetTemplateId()) > 0 {
if len(guest.BackupHostId) > 0 {
self.SetStage("OnMasterHostTemplateReady", nil)
@@ -35,7 +35,8 @@ func (self *GuestStartTask) checkTemplate(ctx context.Context, guest *models.SGu
guest.GetDriver().CheckDiskTemplateOnStorage(ctx, self.UserCred, diskCat.Root.GetTemplateId(), diskCat.Root.StorageId, self)
} else {
self.startStart(ctx, guest)
}
}*/
self.startStart(ctx, guest)
}
func (self *GuestStartTask) OnMasterHostTemplateReady(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {