|
|
@@ -4,6 +4,7 @@ import (
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
@@ -690,6 +691,7 @@ func (t *TaskSubmitReq) UnmarshalJSON(data []byte) error {
|
|
|
type Alias TaskSubmitReq
|
|
|
aux := &struct {
|
|
|
Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
|
+ Duration json.RawMessage `json:"duration,omitempty"`
|
|
|
*Alias
|
|
|
}{
|
|
|
Alias: (*Alias)(t),
|
|
|
@@ -699,6 +701,20 @@ func (t *TaskSubmitReq) UnmarshalJSON(data []byte) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+ if len(aux.Duration) > 0 {
|
|
|
+ var durationInt int
|
|
|
+ if err := common.Unmarshal(aux.Duration, &durationInt); err == nil {
|
|
|
+ t.Duration = durationInt
|
|
|
+ } else {
|
|
|
+ var durationStr string
|
|
|
+ if err := common.Unmarshal(aux.Duration, &durationStr); err == nil && durationStr != "" {
|
|
|
+ if v, err := strconv.Atoi(durationStr); err == nil {
|
|
|
+ t.Duration = v
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if len(aux.Metadata) > 0 {
|
|
|
var metadataStr string
|
|
|
if err := common.Unmarshal(aux.Metadata, &metadataStr); err == nil && metadataStr != "" {
|