This commit is contained in:
Qiu Jian
2018-12-07 21:18:52 +08:00
parent e5f91a0e41
commit 75701657d0
10 changed files with 59 additions and 31 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ type ITask interface {
GetParams() *jsonutils.JSONDict
GetUserCred() mcclient.TokenCredential
GetTaskId() string
SetStage(stageName string, data *jsonutils.JSONDict)
SetStage(stageName string, data *jsonutils.JSONDict) error
GetTaskRequestHeader() http.Header
+14 -13
View File
@@ -470,28 +470,28 @@ func (self *STask) SaveRequestContext(data *appctx.AppContextData) {
}
}
func (self *STask) SaveParams(data *jsonutils.JSONDict) {
self.SetStage("", data)
func (self *STask) SaveParams(data *jsonutils.JSONDict) error {
return self.SetStage("", data)
}
func (self *STask) SetStage(stageName string, data *jsonutils.JSONDict) {
func (self *STask) SetStage(stageName string, data *jsonutils.JSONDict) error {
_, err := self.GetModelManager().TableSpec().Update(self, func() error {
params := jsonutils.NewDict()
params.Update(self.Params)
if data != nil {
params.Update(data)
}
stages, _ := params.Get("__stages")
if stages == nil {
stages = jsonutils.NewArray()
params.Add(stages, "__stages")
}
stageList := stages.(*jsonutils.JSONArray)
stageData := jsonutils.NewDict()
stageData.Add(jsonutils.NewString(self.Stage), "name")
stageData.Add(jsonutils.NewTimeString(time.Now()), "complete_at")
stageList.Add(stageData)
if len(stageName) > 0 {
stages, _ := params.Get("__stages")
if stages == nil {
stages = jsonutils.NewArray()
params.Add(stages, "__stages")
}
stageList := stages.(*jsonutils.JSONArray)
stageData := jsonutils.NewDict()
stageData.Add(jsonutils.NewString(self.Stage), "name")
stageData.Add(jsonutils.NewTimeString(time.Now()), "complete_at")
stageList.Add(stageData)
self.Stage = stageName
}
self.Params = params
@@ -500,6 +500,7 @@ func (self *STask) SetStage(stageName string, data *jsonutils.JSONDict) {
if err != nil {
log.Errorf("set_stage fail %s", err)
}
return err
}
func (self *STask) GetObjectIdStr() string {