Skip to content

Commit

Permalink
fix: noop task support (#21616)
Browse files Browse the repository at this point in the history
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
  • Loading branch information
swordqiu and Qiu Jian authored Nov 17, 2024
1 parent 7a19b32 commit 1196406
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
6 changes: 6 additions & 0 deletions pkg/cloudcommon/db/opslog_const.go
Original file line number Diff line number Diff line change
Expand Up @@ -333,4 +333,10 @@ const (
ACT_STOP_RESCUE_FAILED = "stop_rescue_failed"

ACT_RE_BILLING = "re_billing"

ACT_CLONE = "clone"
ACT_CLONE_FAILED = "clone_failed"

ACT_REBUILD = "rebuild"
ACT_REBUILD_FAILED = "rebuild_failed"
)
50 changes: 50 additions & 0 deletions pkg/cloudcommon/db/taskman/noop_task.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package taskman

import (
"context"

"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"

"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/mcclient"
)

type NoopTask struct {
STask
}

func init() {
RegisterTask(NoopTask{})
}

func (task *NoopTask) OnInit(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) {
task.SetStageComplete(ctx, nil)
}

func StartNoopTask(ctx context.Context, userCred mcclient.TokenCredential, obj db.IStandaloneModel, parentTaskId string) error {
params := jsonutils.NewDict()
task, err := TaskManager.NewTask(ctx, "NoopTask", obj, userCred, params, parentTaskId, "")
if err != nil {
return errors.Wrap(err, "NewTask")
}
err = task.ScheduleRun(nil)
if err != nil {
return errors.Wrap(err, "ScheduleRun")
}
return nil
}
3 changes: 3 additions & 0 deletions pkg/util/logclient/consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -292,4 +292,7 @@ const (
ACT_TRANSFERRED_REJECTED = "trans_rejected"
ACT_ADD_RATE = "add_rate"
ACT_REMOVE_RATE = "remove_rate"

ACT_CLONE = "clone"
ACT_REBUILD = "rebuild"
)

0 comments on commit 1196406

Please sign in to comment.