753
}
754
756
>
var expectedErr *serviceerror.WorkflowExecutionAlreadyStarted
757
>
return errors.As(err, &expectedErr)
758
>
}
759
760
>
func isRateLimitedError(err error) (time.Duration, bool) {
invoker_tasks.go
761
>
var expectedErr *rateLimitedError
762
>
if errors.As(err, &expectedErr) {
763
return expectedErr.delay, true
764
}
766
}
767
769
>
_, rateLimited := isRateLimitedError(err)
770
>
return !errors.Is(err, errRetryLimitExceeded) &&
771
>
(rateLimited ||
772
>
common.IsServiceTransientError(err) ||
773
>
common.IsContextDeadlineExceededErr(err))
774
>
}
775
776
func newRateLimitedError(delay time.Duration) error {