mirror of
https://github.com/hanzo-fi/payments.git
synced 2026-10-30 20:31:20 +00:00
34 lines
927 B
Go
34 lines
927 B
Go
package workflow
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go.temporal.io/sdk/temporal"
|
|
"go.temporal.io/sdk/workflow"
|
|
)
|
|
|
|
func infiniteRetryContext(ctx workflow.Context) workflow.Context {
|
|
return workflow.WithActivityOptions(ctx, workflow.ActivityOptions{
|
|
StartToCloseTimeout: 60 * time.Second,
|
|
RetryPolicy: &temporal.RetryPolicy{
|
|
InitialInterval: time.Second,
|
|
BackoffCoefficient: 2,
|
|
MaximumInterval: 100 * time.Second,
|
|
NonRetryableErrorTypes: []string{},
|
|
},
|
|
})
|
|
}
|
|
|
|
func maximumAttemptsRetryContext(ctx workflow.Context, attempts int) workflow.Context {
|
|
return workflow.WithActivityOptions(ctx, workflow.ActivityOptions{
|
|
StartToCloseTimeout: 60 * time.Second,
|
|
RetryPolicy: &temporal.RetryPolicy{
|
|
MaximumAttempts: int32(attempts),
|
|
InitialInterval: time.Second,
|
|
BackoffCoefficient: 2,
|
|
MaximumInterval: 100 * time.Second,
|
|
NonRetryableErrorTypes: []string{},
|
|
},
|
|
})
|
|
}
|