From 568687c43628676cd54eeec82826da3ff143449d Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Thu, 22 Apr 2021 16:23:01 +0800 Subject: [PATCH] fix(region): avoid panic when sync resources --- pkg/cloudcommon/cronman/cronman.go | 3 ++- pkg/compute/models/cloudproviderregions.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/cloudcommon/cronman/cronman.go b/pkg/cloudcommon/cronman/cronman.go index 0e3487d711..e65af0f38b 100644 --- a/pkg/cloudcommon/cronman/cronman.go +++ b/pkg/cloudcommon/cronman/cronman.go @@ -17,6 +17,7 @@ package cronman import ( "container/heap" "context" + "fmt" "runtime/debug" "sync" "time" @@ -393,7 +394,7 @@ func (job *SCronJob) runJobInWorker(isStart bool) { log.Debugf("Cron job: %s started", job.Name) ctx := context.Background() ctx = context.WithValue(ctx, appctx.APP_CONTEXT_KEY_APPNAME, "Cron-Service") - ctx = context.WithValue(ctx, appctx.APP_CONTEXT_KEY_TASKNAME, job.Name) + ctx = context.WithValue(ctx, appctx.APP_CONTEXT_KEY_TASKNAME, fmt.Sprintf("%s-%d", job.Name, time.Now().Unix())) userCred := DefaultAdminSessionGenerator() job.job(ctx, userCred, isStart) } diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index e51a705bcd..451a7c84f4 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -431,6 +431,7 @@ func (self *SCloudproviderregion) submitSyncTask(ctx context.Context, userCred m self.markStartSync(userCred) RunSyncCloudproviderRegionTask(ctx, self.getSyncTaskKey(), func() { nopanic.Run(func() { + ctx = context.WithValue(ctx, "provider-region", fmt.Sprintf("%d", self.RowId)) err := self.DoSync(ctx, userCred, syncRange) if err != nil { log.Errorf("DoSync faild %v", err)