有人能帮我弄明白吗?
以google python sdk为例,根据Google重试策略(https://cloud.google.com/python/docs/reference/storage/latest/retry_timeout):
from google.api_core import exceptions
from google.api_core.retry import Retry
_MY_RETRIABLE_TYPES = (
exceptions.TooManyRequests, # 429
exceptions.InternalServerError, # 500
exceptions.BadGateway, # 502
exceptions.ServiceUnavailable, # 503
)
def is_retryable(exc):
return isinstance(exc, _MY_RETRIABLE_TYPES)
my_retry_policy = Retry(predicate=is_retryable)
字符串
为什么在测试is_retryable
时会出现以下情况?
exceptions.TooManyRequests==exceptions.TooManyRequests -> True
is_retryable(exceptions.TooManyRequests) -> False
is_retryable(429) -> False
is_retryable(exceptions.TooManyRequests.code) -> False
is_retryable(exceptions.TooManyRequests.code.value) -> False
型
1条答案
按热度按时间w8ntj3qf1#
你的元组由许多 * 类型 * 组成。类型不是其自身的示例,也不是整数值的任何类型的“别名”。您需要将其中一个类型的 instance 传递给
is_retryable
。字符串