From ea790cc82b1d2a1044b623cfca10b89129171357 Mon Sep 17 00:00:00 2001 From: rainzm Date: Tue, 20 Apr 2021 19:55:17 +0800 Subject: [PATCH] fix(region): avoid using LocalTaskworker in time-consuming synchronization of cloudaccount --- .../tasks/cloud_provider_sync_info_task.go | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/pkg/compute/tasks/cloud_provider_sync_info_task.go b/pkg/compute/tasks/cloud_provider_sync_info_task.go index 20df50b80c..65ae3538e6 100644 --- a/pkg/compute/tasks/cloud_provider_sync_info_task.go +++ b/pkg/compute/tasks/cloud_provider_sync_info_task.go @@ -94,25 +94,17 @@ func (self *CloudProviderSyncInfoTask) OnSyncCloudProviderPreInfoComplete(ctx co syncRange := self.GetSyncRange() db.OpsLog.LogEvent(provider, db.ACT_SYNCING_HOST, "", self.UserCred) - self.SetStage("OnSyncCloudProviderInfoComplete", nil) - taskman.LocalTaskRun(self, func() (jsonutils.JSONObject, error) { - provider.SyncCallSyncCloudproviderRegions(ctx, self.UserCred, syncRange) - provider.SyncCallSyncCloudproviderInterVpcNetwork(ctx, self.UserCred) - return nil, nil - }) + provider.SyncCallSyncCloudproviderRegions(ctx, self.UserCred, syncRange) + provider.SyncCallSyncCloudproviderInterVpcNetwork(ctx, self.UserCred) + + provider.CleanSchedCache() + self.SetStageComplete(ctx, nil) + db.OpsLog.LogEvent(provider, db.ACT_SYNC_HOST_COMPLETE, "", self.UserCred) + logclient.AddActionLogWithStartable(self, provider, getAction(self.Params), body, self.UserCred, true) } func (self *CloudProviderSyncInfoTask) OnSyncCloudProviderPreInfoCompleteFailed(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) { log.Errorf("faild to sync provider quotas %s", body.String()) self.OnSyncCloudProviderPreInfoComplete(ctx, obj, body) } - -func (self *CloudProviderSyncInfoTask) OnSyncCloudProviderInfoComplete(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) { - provider := obj.(*models.SCloudprovider) - // provider.MarkEndSync(self.UserCred) - provider.CleanSchedCache() - self.SetStageComplete(ctx, nil) - db.OpsLog.LogEvent(provider, db.ACT_SYNC_HOST_COMPLETE, "", self.UserCred) - logclient.AddActionLogWithStartable(self, provider, getAction(self.Params), body, self.UserCred, true) -}