Files

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{},
},
})
}