From 4b65760e9ead3e2aa6b24829bade62514d3d3161 Mon Sep 17 00:00:00 2001 From: Tanmoy Sen Gupta Date: Tue, 11 Jul 2023 00:58:35 +0530 Subject: [PATCH 1/6] refactored code --- README.md | 4 +- example/{ => dynamic-steps-example}/diag.png | Bin example/dynamic-steps-example/main.go | 44 +++++++++++++++++++ example/multistep-example/diag.png | Bin 0 -> 202160 bytes example/{ => multistep-example}/main.go | 0 5 files changed, 46 insertions(+), 2 deletions(-) rename example/{ => dynamic-steps-example}/diag.png (100%) create mode 100644 example/dynamic-steps-example/main.go create mode 100644 example/multistep-example/diag.png rename example/{ => multistep-example}/main.go (100%) diff --git a/README.md b/README.md index 7afdbb7..5bb54be 100644 --- a/README.md +++ b/README.md @@ -147,9 +147,9 @@ If you want to help fix the above constraint or other bugs/issues, feel free to ## Example -In [this example](./example/main.go), we've used a set of complex steps with conditional step and retry. The flow of the same is +In [this example](./example/multistep-example/main.go), we've used a set of complex steps with conditional step and retry. The flow of the same is -![flow](./example/diag.png) +![flow](./example/multistep-example/diag.png) Execute the example steps diff --git a/example/diag.png b/example/dynamic-steps-example/diag.png similarity index 100% rename from example/diag.png rename to example/dynamic-steps-example/diag.png diff --git a/example/dynamic-steps-example/main.go b/example/dynamic-steps-example/main.go new file mode 100644 index 0000000..55c5fa2 --- /dev/null +++ b/example/dynamic-steps-example/main.go @@ -0,0 +1,44 @@ +package main + +import ( + "fmt" + + gosteps "github.com/TanmoySG/go-steps" +) + +const ( + stepMultiply = "Multiply" + stepDivide = "Divide" +) + +// reading/maintaining this is a bit tricky will add +// a functional way to create this in the next version +var steps = gosteps.Steps{} + +func main() { + + intsToAdd := []int{1, 4, 7, 10} + + for _, i := range intsToAdd { + fmt.Println(i) + } + + initArgs := []interface{}{1, 2} + finalOutput, err := steps.Execute(initArgs...) + if err != nil { + fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) + } + + fmt.Printf("Final Output: [%v]\n", finalOutput) +} + +// step resolver +func nextStepResolver(args ...any) string { + if args[0].(int) < 0 { + fmt.Printf("StepResolver [%v]: Arguments is Negative, going with Multiply\n", args) + return stepMultiply + } + + fmt.Printf("StepResolver [%v]: Arguments is Positive, going with Divide\n", args) + return stepDivide +} diff --git a/example/multistep-example/diag.png b/example/multistep-example/diag.png new file mode 100644 index 0000000000000000000000000000000000000000..af39f136725aa743826f5ac4f4559fe520abfabb GIT binary patch literal 202160 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

YXRtAgjJYo<6*4Ic*H zU8UdM7%kd;otcqpL~$oO*{O_A2mR96RS}`@O^97xv0pOx?@OB9<2aewg3d9UQP=R> zrmM`vDJouauPgNLQ&Tv6$r7QV=txql=1#yQ_pBaeYhTW~P#7s=k@lFqD>eo$+RIdR z(nJP*wFNsnp*li-hppBSGr8I;)8qhRGGKlvM0%}I^VZ=Wt!3|TR99T#Qywlysw%hj zrYlUuE&<>ME~&C-Wh|0oVO!~&hHKI(t8F(KS(%$wwZ<}ev8siwyOXXx7vb5dUY)A3 zvP+tesPs_|2k_d!6xUH*H$eX~u{+Otu8P>iGch6DP&=<_M}~*lrjSf0<84T5qZ2*o zwf;vnK0i7*QF}wGyYgdb)dvi>`T48j>yf6jt3Ux{2IoO_5J|5X zcjkrRHC*VE0iLVT5yKh-H*yl{o4HaK5YE(Pn8 zFPpwo-pi-S8F``IV_Eh4!7H8)0D8<*vX@?Z_N3zy!Or`yk-^52b3JRW z-`?LH@{nNzdVX1}_@ceQ-C9}#_%BQH?=;%NW}iQoGWy+dnzF4vYRb|K)35W0>PZmF zc6@%0AG;9LMwa*i_j&qO$SMJ*Mj;8X{m^p=ElOk!hc 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 &fjz~S1k(DjW+fj7|d5arsql}=ohMS-h-dUr} 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 Date: Tue, 11 Jul 2023 10:37:34 +0530 Subject: [PATCH 2/6] updated step model --- example/dynamic-steps-example/main.go | 95 +++++++++++++------------ example/multistep-example/main.go | 99 ++++++++++++--------------- go-steps.go | 39 +++++------ 3 files changed, 115 insertions(+), 118 deletions(-) diff --git a/example/dynamic-steps-example/main.go b/example/dynamic-steps-example/main.go index 55c5fa2..3487be7 100644 --- a/example/dynamic-steps-example/main.go +++ b/example/dynamic-steps-example/main.go @@ -1,44 +1,55 @@ package main -import ( - "fmt" - - gosteps "github.com/TanmoySG/go-steps" -) - -const ( - stepMultiply = "Multiply" - stepDivide = "Divide" -) - -// reading/maintaining this is a bit tricky will add -// a functional way to create this in the next version -var steps = gosteps.Steps{} - -func main() { - - intsToAdd := []int{1, 4, 7, 10} - - for _, i := range intsToAdd { - fmt.Println(i) - } - - initArgs := []interface{}{1, 2} - finalOutput, err := steps.Execute(initArgs...) - if err != nil { - fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) - } - - fmt.Printf("Final Output: [%v]\n", finalOutput) -} - -// step resolver -func nextStepResolver(args ...any) string { - if args[0].(int) < 0 { - fmt.Printf("StepResolver [%v]: Arguments is Negative, going with Multiply\n", args) - return stepMultiply - } - - fmt.Printf("StepResolver [%v]: Arguments is Positive, going with Divide\n", args) - return stepDivide -} +// import ( +// "fmt" + +// gosteps "github.com/TanmoySG/go-steps" +// "github.com/TanmoySG/go-steps/example/funcs" +// ) + +// const ( +// stepMultiply = "Multiply" +// stepDivide = "Divide" +// ) + +// // reading/maintaining this is a bit tricky will add +// // a functional way to create this in the next version +// var step = gosteps.Step{} + +// func main() { + +// intsToAdd := []int{1, 4, 7, 10} + +// iterStep := step +// for _, i := range intsToAdd { +// iterStep.NextSteps = append(iterStep.NextSteps, gosteps.Step{ +// Function: funcs.Add, +// AdditionalArgs: []interface{}{i}, +// }) +// step = iterStep +// iterStep = iterStep.NextSteps[0] +// fmt.Println(">", step) +// fmt.Println(iterStep) +// } + +// steps := gosteps.Steps{iterStep} + +// initArgs := []interface{}{1} +// finalOutput, err := steps.Execute(initArgs...) +// if err != nil { +// fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) +// } + +// fmt.Printf("Final Output: [%v]\n", finalOutput) +// } + +// // step resolver +// func nextStepResolver(args ...any) string { +// if args[0].(int) < 0 { +// fmt.Printf("StepResolver [%v]: Arguments is Negative, going with Multiply\n", args) +// return stepMultiply +// } + +// fmt.Printf("StepResolver [%v]: Arguments is Positive, going with Divide\n", args) +// return stepDivide +// } diff --git a/example/multistep-example/main.go b/example/multistep-example/main.go index 39e6e57..9d76e35 100644 --- a/example/multistep-example/main.go +++ b/example/multistep-example/main.go @@ -2,10 +2,8 @@ package main import ( "fmt" - "time" gosteps "github.com/TanmoySG/go-steps" - "github.com/TanmoySG/go-steps/example/funcs" ) const ( @@ -15,60 +13,49 @@ const ( // reading/maintaining this is a bit tricky will add // a functional way to create this in the next version -var steps = gosteps.Steps{ - { - Function: funcs.Add, - NextSteps: gosteps.Steps{ - { - Function: funcs.Sub, - AdditionalArgs: []interface{}{4}, - NextStepResolver: nextStepResolver, - NextSteps: gosteps.Steps{ - { - Name: stepMultiply, - Function: funcs.Multiply, - AdditionalArgs: []interface{}{-5}, - NextSteps: gosteps.Steps{ - { - Function: funcs.Add, - AdditionalArgs: []interface{}{100}, - NextSteps: gosteps.Steps{ - { - Function: funcs.StepWillError3Times, - ErrorsToRetry: []error{ - fmt.Errorf("error"), - }, - NextSteps: gosteps.Steps{ - { - Function: funcs.StepWillErrorInfinitely, - ErrorsToRetry: []error{ - fmt.Errorf("error"), - }, - NextSteps: gosteps.Steps{ - { - Function: funcs.Multiply, - }, - }, - StrictErrorCheck: true, - MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts - }, - }, - MaxAttempts: 5, - RetrySleep: 1 * time.Second, - }, - }, - }, - }, - }, - { - Name: stepDivide, - Function: funcs.Divide, - AdditionalArgs: []interface{}{-2}, - }, - }, - }, - }, - }, +var steps = &gosteps.Step{ + // Function: funcs.Add, + // NextStep: &gosteps.Step{ + // Function: funcs.Sub, + // AdditionalArgs: []interface{}{4}, + // NextStepResolver: nextStepResolver, + // PossibleNextSteps: gosteps.Steps{ + // { + // Name: stepMultiply, + // Function: funcs.Multiply, + // AdditionalArgs: []interface{}{-5}, + // NextStep: &gosteps.Step{ + // Function: funcs.Add, + // AdditionalArgs: []interface{}{100}, + // NextStep: &gosteps.Step{ + // Function: funcs.StepWillError3Times, + // ErrorsToRetry: []error{ + // fmt.Errorf("error"), + // }, + // NextStep: &gosteps.Step{ + // Function: funcs.StepWillErrorInfinitely, + // ErrorsToRetry: []error{ + // fmt.Errorf("error"), + // }, + // NextStep: &gosteps.Step{ + // Function: funcs.Multiply, + // }, + // StrictErrorCheck: true, + // MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts + + // }, + // MaxAttempts: 5, + // RetrySleep: 1 * time.Second, + // }, + // }, + // }, + // { + // Name: stepDivide, + // Function: funcs.Divide, + // AdditionalArgs: []interface{}{-2}, + // }, + // }, + // }, } func main() { diff --git a/go-steps.go b/go-steps.go index 0021e3e..0372336 100644 --- a/go-steps.go +++ b/go-steps.go @@ -23,21 +23,22 @@ var ( type StepName string type Step struct { - Name StepName - Function interface{} - AdditionalArgs []interface{} - NextSteps []Step - NextStepResolver interface{} - ErrorsToRetry []error - StrictErrorCheck bool - SkipRetry bool - MaxAttempts int - RetrySleep time.Duration + Name StepName + Function interface{} + AdditionalArgs []interface{} + NextStep *Step + PossibleNextSteps []Step + NextStepResolver interface{} + ErrorsToRetry []error + StrictErrorCheck bool + SkipRetry bool + MaxAttempts int + RetrySleep time.Duration } type Steps []Step -func (steps Steps) Execute(initArgs ...any) ([]interface{}, error) { +func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { // final output for steps execution var finalOutput []interface{} @@ -46,13 +47,13 @@ func (steps Steps) Execute(initArgs ...any) ([]interface{}, error) { var stepError error // no entry or initial step - if len(steps) == 0 { + if steps == nil { return nil, nil } // entry step var isEntryStep bool = true - step := steps[0] + step := steps // step reattepts var stepReAttemptsLeft int = step.MaxAttempts @@ -95,28 +96,26 @@ func (steps Steps) Execute(initArgs ...any) ([]interface{}, error) { } // no next step, this is the final step - if step.NextSteps == nil { + if step.NextStep == nil || step.PossibleNextSteps == nil { finalOutput = stepOutput return finalOutput, nil } // if there are multiple next steps but no resolver, // first one in the list is considered as next step - var nextStep Step = step.NextSteps[0] // next step is dependant on conditions - if step.NextSteps != nil && step.NextStepResolver != nil { + if step.PossibleNextSteps != nil && step.NextStepResolver != nil { nextStepName := step.NextStepResolver.(func(...interface{}) string)(stepOutput...) resolvedStep := step.resolveNextStep(StepName(nextStepName)) if resolvedStep == nil { return stepOutput, fmt.Errorf(unresolvedStepError, step.Name) } - - nextStep = *resolvedStep + step.NextStep = resolvedStep } // set step as resolved or default nextStep - step = nextStep + step = step.NextStep // if step.MaxAttempts is not set, set default max value if step.MaxAttempts < 1 { @@ -143,7 +142,7 @@ func (step Step) shouldRetry(err error) bool { // resolve next step by step name func (step Step) resolveNextStep(stepName StepName) *Step { - for _, nextStep := range step.NextSteps { + for _, nextStep := range step.PossibleNextSteps { if nextStep.Name == stepName { return &nextStep } From 1d8bae06eb3aa183778fe273e55a5f7fce5f55f4 Mon Sep 17 00:00:00 2001 From: Tanmoy Sen Gupta Date: Tue, 11 Jul 2023 06:19:39 +0000 Subject: [PATCH 3/6] updated logic based on new model --- example/dynamic-steps-example/main.go | 14 ++--- example/multistep-example/main.go | 87 ++++++++++++++------------- go-steps.go | 13 ++-- 3 files changed, 55 insertions(+), 59 deletions(-) diff --git a/example/dynamic-steps-example/main.go b/example/dynamic-steps-example/main.go index 3487be7..c2dbeb7 100644 --- a/example/dynamic-steps-example/main.go +++ b/example/dynamic-steps-example/main.go @@ -22,20 +22,18 @@ package main // iterStep := step // for _, i := range intsToAdd { -// iterStep.NextSteps = append(iterStep.NextSteps, gosteps.Step{ +// iterStep.NextStep = &gosteps.Step{ // Function: funcs.Add, // AdditionalArgs: []interface{}{i}, -// }) -// step = iterStep -// iterStep = iterStep.NextSteps[0] +// } + +// iterStep = *iterStep.NextStep // fmt.Println(">", step) // fmt.Println(iterStep) // } -// steps := gosteps.Steps{iterStep} - -// initArgs := []interface{}{1} -// finalOutput, err := steps.Execute(initArgs...) +// // initArgs := []interface{}{1} +// finalOutput, err := step.Execute(1) // if err != nil { // fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) // } diff --git a/example/multistep-example/main.go b/example/multistep-example/main.go index 9d76e35..d56fbfe 100644 --- a/example/multistep-example/main.go +++ b/example/multistep-example/main.go @@ -4,6 +4,7 @@ import ( "fmt" gosteps "github.com/TanmoySG/go-steps" + "github.com/TanmoySG/go-steps/example/funcs" ) const ( @@ -14,52 +15,52 @@ const ( // reading/maintaining this is a bit tricky will add // a functional way to create this in the next version var steps = &gosteps.Step{ - // Function: funcs.Add, - // NextStep: &gosteps.Step{ - // Function: funcs.Sub, - // AdditionalArgs: []interface{}{4}, - // NextStepResolver: nextStepResolver, - // PossibleNextSteps: gosteps.Steps{ - // { - // Name: stepMultiply, - // Function: funcs.Multiply, - // AdditionalArgs: []interface{}{-5}, - // NextStep: &gosteps.Step{ - // Function: funcs.Add, - // AdditionalArgs: []interface{}{100}, - // NextStep: &gosteps.Step{ - // Function: funcs.StepWillError3Times, - // ErrorsToRetry: []error{ - // fmt.Errorf("error"), - // }, - // NextStep: &gosteps.Step{ - // Function: funcs.StepWillErrorInfinitely, - // ErrorsToRetry: []error{ - // fmt.Errorf("error"), - // }, - // NextStep: &gosteps.Step{ - // Function: funcs.Multiply, - // }, - // StrictErrorCheck: true, - // MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts - - // }, - // MaxAttempts: 5, - // RetrySleep: 1 * time.Second, - // }, - // }, - // }, - // { - // Name: stepDivide, - // Function: funcs.Divide, - // AdditionalArgs: []interface{}{-2}, - // }, - // }, - // }, + Function: funcs.Add, + AdditionalArgs: []interface{}{2}, + NextStep: &gosteps.Step{ + Function: funcs.Sub, + AdditionalArgs: []interface{}{4}, + NextStepResolver: nextStepResolver, + // PossibleNextSteps: gosteps.PossibleNextSteps{ + // { + // Name: stepMultiply, + // Function: funcs.Multiply, + // AdditionalArgs: []interface{}{-5}, + // NextStep: &gosteps.Step{ + // Function: funcs.Add, + // AdditionalArgs: []interface{}{100}, + // NextStep: &gosteps.Step{ + // Function: funcs.StepWillError3Times, + // ErrorsToRetry: []error{ + // fmt.Errorf("error"), + // }, + // NextStep: &gosteps.Step{ + // Function: funcs.StepWillErrorInfinitely, + // ErrorsToRetry: []error{ + // fmt.Errorf("error"), + // }, + // NextStep: &gosteps.Step{ + // Function: funcs.Multiply, + // }, + // StrictErrorCheck: false, + // MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts + // }, + // MaxAttempts: 5, + // RetrySleep: 1 * time.Second, + // }, + // }, + // }, + // { + // Name: stepDivide, + // Function: funcs.Divide, + // AdditionalArgs: []interface{}{-2}, + // }, + // }, + }, } func main() { - initArgs := []interface{}{1, 2} + initArgs := []interface{}{1} finalOutput, err := steps.Execute(initArgs...) if err != nil { fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) diff --git a/go-steps.go b/go-steps.go index 0372336..7d3a306 100644 --- a/go-steps.go +++ b/go-steps.go @@ -27,7 +27,7 @@ type Step struct { Function interface{} AdditionalArgs []interface{} NextStep *Step - PossibleNextSteps []Step + PossibleNextSteps PossibleNextSteps NextStepResolver interface{} ErrorsToRetry []error StrictErrorCheck bool @@ -36,7 +36,7 @@ type Step struct { RetrySleep time.Duration } -type Steps []Step +type PossibleNextSteps []Step func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { // final output for steps execution @@ -46,8 +46,8 @@ func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { var stepOutput []interface{} var stepError error - // no entry or initial step - if steps == nil { + // no initial step or function + if steps == nil || steps.Function == nil { return nil, nil } @@ -96,14 +96,11 @@ func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { } // no next step, this is the final step - if step.NextStep == nil || step.PossibleNextSteps == nil { + if step.NextStep == nil && step.PossibleNextSteps == nil { finalOutput = stepOutput return finalOutput, nil } - // if there are multiple next steps but no resolver, - // first one in the list is considered as next step - // next step is dependant on conditions if step.PossibleNextSteps != nil && step.NextStepResolver != nil { nextStepName := step.NextStepResolver.(func(...interface{}) string)(stepOutput...) From b450278acb296f3b6eeb9848dd971b0ffb968528 Mon Sep 17 00:00:00 2001 From: Tanmoy Sen Gupta Date: Tue, 11 Jul 2023 09:52:24 +0000 Subject: [PATCH 4/6] updated step model and logic --- README.md | 46 ++++++++++++++++++++++++---------------------- go-steps.go | 9 ++++----- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 5bb54be..a16112c 100644 --- a/README.md +++ b/README.md @@ -16,32 +16,34 @@ The `Step` type contains the requirments to execute a step function and move to ```go type Step struct { - Name StepName - Function interface{} - AdditionalArgs []interface{} - NextSteps []Step - NextStepResolver interface{} - ErrorsToRetry []error - StrictErrorCheck bool - SkipRetry bool - MaxAttempts int - RetrySleep time.Duration + Name StepName + Function interface{} + AdditionalArgs []interface{} + NextStep *Step + PossibleNextSteps PossibleNextSteps + NextStepResolver interface{} + ErrorsToRetry []error + StrictErrorCheck bool + SkipRetry bool + MaxAttempts int + RetrySleep time.Duration } ``` -| Field | Description | -|------------------|--------------------------------------------------------------------------------------------------------------------------| -| Name | Name of step | -| Function | The function to execute | -| AdditionalArgs | any additional arguments need to pass to te step | -| NextSteps | Candidate functions for next step (multiple next steps in-case of condition based execution) | -| NextStepResolver | A function that returns the step name, based on conditions, that is used to pick the nextStep from NextSteps | -| ErrorsToRetry | A list of error to retry step for | -| StrictErrorCheck | If set to `true` exact error is matched, else only presence of error is checked | -| SkipRetry | If set to `true` step is not retried for any error | -| MaxAttempts | Max attempts are the number of times the step is tried (first try + subsequent retries). If not set, it'll run 100 times | -| RetrySleep | Sleep duration (type time.Duration) between each re-attempts | +| Field | Description | +|-------------------|------------------------------------------------------------------------------------------------------------------------------| +| Name | Name of step | +| Function | The function to execute | +| AdditionalArgs | any additional arguments need to pass to te step | +| NextStep | Next Step for the current step. If next step needs to be conditional dont set this and use `PossibleNextSteps` field instead | +| PossibleNextSteps | Candidate functions for next step (pick from multiple possible next steps based on condition) | +| NextStepResolver | A function that returns the step name, based on conditions, that is used to pick the NextStep from PossibleNextSteps | +| ErrorsToRetry | A list of error to retry step for | +| StrictErrorCheck | If set to `true` exact error is matched, else only presence of error is checked | +| SkipRetry | If set to `true` step is not retried for any error | +| MaxAttempts | Max attempts are the number of times the step is tried (first try + subsequent retries). If not set, it'll run 100 times | +| RetrySleep | Sleep duration (type time.Duration) between each re-attempts | ### Defining Steps diff --git a/go-steps.go b/go-steps.go index 7d3a306..68dee81 100644 --- a/go-steps.go +++ b/go-steps.go @@ -38,8 +38,8 @@ type Step struct { type PossibleNextSteps []Step -func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { - // final output for steps execution +func (step *Step) Execute(initArgs ...any) ([]interface{}, error) { + // final output for step execution var finalOutput []interface{} // initialize step output and step error @@ -47,13 +47,12 @@ func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { var stepError error // no initial step or function - if steps == nil || steps.Function == nil { + if step == nil || step.Function == nil { return nil, nil } // entry step var isEntryStep bool = true - step := steps // step reattepts var stepReAttemptsLeft int = step.MaxAttempts @@ -63,7 +62,7 @@ func (steps *Step) Execute(initArgs ...any) ([]interface{}, error) { stepArgs := []interface{}{} stepArgs = append(stepArgs, stepOutput...) - // only runs for first step in steps + // only runs for first step in step if isEntryStep { stepArgs = initArgs isEntryStep = false From 2aaf439910819b9ad986c8c1a152dd0cf467b78a Mon Sep 17 00:00:00 2001 From: Tanmoy Sen Gupta Date: Tue, 11 Jul 2023 09:52:32 +0000 Subject: [PATCH 5/6] updated examples --- example/dynamic-steps-example/main.go | 95 +++++++++++++-------------- example/multistep-example/main.go | 73 ++++++++++---------- 2 files changed, 81 insertions(+), 87 deletions(-) diff --git a/example/dynamic-steps-example/main.go b/example/dynamic-steps-example/main.go index c2dbeb7..2007296 100644 --- a/example/dynamic-steps-example/main.go +++ b/example/dynamic-steps-example/main.go @@ -1,53 +1,46 @@ package main -// import ( -// "fmt" - -// gosteps "github.com/TanmoySG/go-steps" -// "github.com/TanmoySG/go-steps/example/funcs" -// ) - -// const ( -// stepMultiply = "Multiply" -// stepDivide = "Divide" -// ) - -// // reading/maintaining this is a bit tricky will add -// // a functional way to create this in the next version -// var step = gosteps.Step{} - -// func main() { - -// intsToAdd := []int{1, 4, 7, 10} - -// iterStep := step -// for _, i := range intsToAdd { -// iterStep.NextStep = &gosteps.Step{ -// Function: funcs.Add, -// AdditionalArgs: []interface{}{i}, -// } - -// iterStep = *iterStep.NextStep -// fmt.Println(">", step) -// fmt.Println(iterStep) -// } - -// // initArgs := []interface{}{1} -// finalOutput, err := step.Execute(1) -// if err != nil { -// fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) -// } - -// fmt.Printf("Final Output: [%v]\n", finalOutput) -// } - -// // step resolver -// func nextStepResolver(args ...any) string { -// if args[0].(int) < 0 { -// fmt.Printf("StepResolver [%v]: Arguments is Negative, going with Multiply\n", args) -// return stepMultiply -// } - -// fmt.Printf("StepResolver [%v]: Arguments is Positive, going with Divide\n", args) -// return stepDivide -// } +import ( + "fmt" + + gosteps "github.com/TanmoySG/go-steps" + "github.com/TanmoySG/go-steps/example/funcs" +) + +func main() { + + intsToAdd := []int{1, 4, 7, 10} + + var step *gosteps.Step + for _, val := range intsToAdd { + step = addStepToChain(step, funcs.Add, []interface{}{val}) + } + + finalOutput, err := step.Execute(1) + if err != nil { + fmt.Printf("error executing steps: %s, final output: [%s]\n", err, finalOutput) + } + + fmt.Printf("Final Output: [%v]\n", finalOutput) +} + +// step to add new next step to step-chain; basically a linked-list insertion +func addStepToChain(step *gosteps.Step, stepFunc interface{}, additionalArgs []interface{}) *gosteps.Step { + temp := gosteps.Step{ + Function: stepFunc, + AdditionalArgs: additionalArgs, + } + + if step == nil { + step = &temp + return step + } + + curr := step + for curr.NextStep != nil { + curr = curr.NextStep + } + + curr.NextStep = &temp + return step +} diff --git a/example/multistep-example/main.go b/example/multistep-example/main.go index d56fbfe..f26efd3 100644 --- a/example/multistep-example/main.go +++ b/example/multistep-example/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "time" gosteps "github.com/TanmoySG/go-steps" "github.com/TanmoySG/go-steps/example/funcs" @@ -14,48 +15,48 @@ const ( // reading/maintaining this is a bit tricky will add // a functional way to create this in the next version -var steps = &gosteps.Step{ +var steps = gosteps.Step{ Function: funcs.Add, AdditionalArgs: []interface{}{2}, NextStep: &gosteps.Step{ Function: funcs.Sub, AdditionalArgs: []interface{}{4}, NextStepResolver: nextStepResolver, - // PossibleNextSteps: gosteps.PossibleNextSteps{ - // { - // Name: stepMultiply, - // Function: funcs.Multiply, - // AdditionalArgs: []interface{}{-5}, - // NextStep: &gosteps.Step{ - // Function: funcs.Add, - // AdditionalArgs: []interface{}{100}, - // NextStep: &gosteps.Step{ - // Function: funcs.StepWillError3Times, - // ErrorsToRetry: []error{ - // fmt.Errorf("error"), - // }, - // NextStep: &gosteps.Step{ - // Function: funcs.StepWillErrorInfinitely, - // ErrorsToRetry: []error{ - // fmt.Errorf("error"), - // }, - // NextStep: &gosteps.Step{ - // Function: funcs.Multiply, - // }, - // StrictErrorCheck: false, - // MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts - // }, - // MaxAttempts: 5, - // RetrySleep: 1 * time.Second, - // }, - // }, - // }, - // { - // Name: stepDivide, - // Function: funcs.Divide, - // AdditionalArgs: []interface{}{-2}, - // }, - // }, + PossibleNextSteps: gosteps.PossibleNextSteps{ + { + Name: stepMultiply, + Function: funcs.Multiply, + AdditionalArgs: []interface{}{-5}, + NextStep: &gosteps.Step{ + Function: funcs.Add, + AdditionalArgs: []interface{}{100}, + NextStep: &gosteps.Step{ + Function: funcs.StepWillError3Times, + ErrorsToRetry: []error{ + fmt.Errorf("error"), + }, + NextStep: &gosteps.Step{ + Function: funcs.StepWillErrorInfinitely, + ErrorsToRetry: []error{ + fmt.Errorf("error"), + }, + NextStep: &gosteps.Step{ + Function: funcs.Multiply, + }, + StrictErrorCheck: false, + MaxAttempts: 5, // use gosteps.MaxMaxAttempts for Maximum Possible reattempts + }, + MaxAttempts: 5, + RetrySleep: 1 * time.Second, + }, + }, + }, + { + Name: stepDivide, + Function: funcs.Divide, + AdditionalArgs: []interface{}{-2}, + }, + }, }, } From 384f54830551927a7215bfeb82b5b3b396a65fd1 Mon Sep 17 00:00:00 2001 From: Tanmoy Sen Gupta Date: Wed, 12 Jul 2023 00:42:40 +0530 Subject: [PATCH 6/6] updated README --- README.md | 48 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a16112c..1624c2c 100644 --- a/README.md +++ b/README.md @@ -47,21 +47,17 @@ type Step struct { ### Defining Steps -To define steps, use the `gosteps.Steps` type and link the next steps in the `NextSteps` field as follows +To define steps, use the `gosteps.Steps` type and link the next steps in the `NextStep` field as follows ```go -var steps = gosteps.Steps{ - { - Name: "add", - Function: funcs.Add, - AdditionalArgs: []interface{}{2, 3}, - NextSteps: gosteps.Steps{ - { - Name: "sub", - Function: funcs.Sub, - AdditionalArgs: []interface{}{4}, - }, - }, +var steps = gosteps.Step{ + Name: "add", + Function: funcs.Add, + AdditionalArgs: []interface{}{2, 3}, + NextStep: gosteps.Steps{ + Name: "sub", + Function: funcs.Sub, + AdditionalArgs: []interface{}{4}, }, } ``` @@ -70,7 +66,31 @@ Here the first step is `Add` and next step (and final) is `Sub`, so the output o ### Conditional Steps -Some steps might have multiple candidates for next step and the executable next step is to be picked based on the output of the current step. To do so, steps with multiple next step candidates must use the `NextStepResolver` field passing a resolver function that returns the Name of the function to use as next step. +Some steps might have multiple candidates for next step and the executable next step is to be picked based on the output of the current step. Define the possible next steps in the `PossibleNextSteps` field, as an array of Steps. + +```go +PossibleNextSteps: gosteps.Step{ + Function: funcs.Add, + AdditionalArgs: []interface{}{2}, + NextStep: &gosteps.Step{ + Function: funcs.Sub, + AdditionalArgs: []interface{}{4}, + NextStepResolver: nextStepResolver, + PossibleNextSteps: gosteps.PossibleNextSteps{ + { + Name: "multiply", + Function: funcs.Multiply, + }, + { + Name: "divide", + Function: funcs.Divide, + }, + } + } +} +``` + +To pick the required next step based on conditions, we must use the `NextStepResolver` field passing a resolver function that returns the Name of the function to use as next step. The resolver function should be of type `func(args ...any) string`, where `args` are the output of current step and returned string is the name of the step to use.