Browse Source

refact: 强制停止不记录原因到extData中,之后的版本考虑如何区别

pull/251/head
Rennbon 4 years ago
parent
commit
38e05c48ba
  1. 11
      dtmsvr/api.go
  2. 1
      dtmsvr/storage/trans.go
  3. 19
      dtmsvr/trans_status.go

11
dtmsvr/api.go

@ -7,7 +7,6 @@
package dtmsvr
import (
"encoding/json"
"fmt"
"github.com/dtm-labs/dtm/dtmcli"
@ -64,15 +63,7 @@ func svcForceStop(t *TransGlobal) interface{} {
if dbt.Status == dtmcli.StatusSucceed || dbt.Status == dtmcli.StatusFailed {
return nil
}
extData, err := json.Marshal(&ExtData{
Type: ExtDataTypeForceStop,
Msg: t.ForceStopReason,
})
if err != nil {
return err
}
t.ForceStopReason = ""
dbt.statusFailed(string(extData))
dbt.statusFailed()
branches := GetStore().FindBranches(t.Gid)
return dbt.Process(branches)
}

1
dtmsvr/storage/trans.go

@ -39,7 +39,6 @@ type TransGlobalStore struct {
NextCronTime *time.Time `json:"next_cron_time,omitempty"`
Owner string `json:"owner,omitempty"`
Ext TransGlobalExt `json:"-" gorm:"-"`
ForceStopReason string `json:"force_stop_reason,omitempty" gorm:"-"` // only for request
ExtData string `json:"ext_data,omitempty"` // storage of ext. a db field to store many values. like Options
dtmcli.TransOptions
}

19
dtmsvr/trans_status.go

@ -58,25 +58,10 @@ func (t *TransGlobal) changeStatus(status string) {
t.Status = status
}
// ExtDataType case extData type
type ExtDataType string
const (
// ExtDataTypeForceStop Type of user forced stop global gid
ExtDataTypeForceStop ExtDataType = "forceStop"
)
// ExtData custom extData struct
type ExtData struct {
Type ExtDataType `json:"type"`
Msg string `json:"msg"`
}
func (t *TransGlobal) statusFailed(extData string) {
updates := []string{"status", "update_time", "ext_data"}
func (t *TransGlobal) statusFailed() {
updates := []string{"status", "update_time"}
now := time.Now()
t.UpdateTime = &now
t.ExtData = extData
GetStore().ChangeGlobalStatus(&t.TransGlobalStore, dtmcli.StatusFailed, updates, false)
logger.Infof("StatusFailed to %s ok for %s", dtmcli.StatusFailed, t.TransGlobalStore.String())
t.Status = dtmcli.StatusFailed

Loading…
Cancel
Save