85 lines
2.0 KiB
Go
85 lines
2.0 KiB
Go
/*
|
|
* Tencent is pleased to support the open source community by making Blueking Container Service available.
|
|
* Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
|
|
* Licensed under the MIT License (the "License"); you may not use this file except
|
|
* in compliance with the License. You may obtain a copy of the License at
|
|
* http://opensource.org/licenses/MIT
|
|
* 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 main xxx
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
|
|
istep "git.ifooth.com/common/pkg/task/steps/iface"
|
|
"git.ifooth.com/common/pkg/task/types"
|
|
)
|
|
|
|
const (
|
|
stepSumName = "求和任务"
|
|
sumMethod = "sum"
|
|
)
|
|
|
|
var (
|
|
sumA istep.ParamKey = "sumA"
|
|
sumB istep.ParamKey = "sumB"
|
|
sumC istep.ParamKey = "sumC"
|
|
)
|
|
|
|
// NewSumStep sum step
|
|
func NewSumStep() *SumStep {
|
|
return &SumStep{}
|
|
}
|
|
|
|
// SumStep sum step
|
|
type SumStep struct{}
|
|
|
|
// Alias step name
|
|
func (s SumStep) Alias() string {
|
|
return stepSumName
|
|
}
|
|
|
|
// GetName step name
|
|
func (s SumStep) GetName() string {
|
|
return sumMethod
|
|
}
|
|
|
|
// Execute for worker exec task
|
|
func (s SumStep) Execute(c *istep.Context) error {
|
|
a, _ := c.GetParam(sumA.String())
|
|
b, _ := c.GetParam(sumB.String())
|
|
|
|
a1, _ := strconv.Atoi(a)
|
|
b1, _ := strconv.Atoi(b)
|
|
|
|
c1 := a1 + b1
|
|
_ = c.AddCommonParam(sumC.String(), fmt.Sprintf("%v", c1))
|
|
|
|
fmt.Printf("%s %s %s sumC: %v\n", c.GetTaskID(), c.GetTaskType(), c.GetName(), c)
|
|
|
|
return nil
|
|
}
|
|
|
|
// BuildStep build step
|
|
func (s SumStep) BuildStep(kvs []istep.KeyValue, opts ...types.StepOption) *types.Step {
|
|
step := types.NewStep(s.GetName(), sumMethod, opts...)
|
|
|
|
// build step paras
|
|
for _, v := range kvs {
|
|
step.AddParam(v.Key.String(), v.Value)
|
|
}
|
|
|
|
return step
|
|
}
|
|
|
|
func init() {
|
|
// register step
|
|
istep.Register(sumMethod, NewSumStep())
|
|
}
|