The response representations SHOULD include details explaining the condition, and MAY include a Retry-After...For example: HTTP/1.1 429 Too Many Requests Content-Type: text/html Retry-After: 3600 <...服务器通常在响应中包含一个Retry-after头,其中包含在重试之前应该等待的秒数。请记住,休眠进程可能会导致问题,例如在任务队列中,你应该在稍后重试该任务,以释放该工作进程用于其他事情。...if response.status_code == 429: time.sleep(int(response.headers["Retry-After"])) 2)指数退避算法。
通常,一个编码良好的、实现了频率限制的应用还会回传三个响应头: X-RateLimit-Limit, X-RateLimit-Remaining和 Retry-After(如果达到限制次数只能获取到 Retry-After...X-RateLimit-Limit告诉我们在指定时间内允许的最大请求次数, X-RateLimit-Remaining指的是在指定时间段内剩下的请求次数, Retry-After指的是距离下次重试请求需要等待的时间
自定义的延时策略 下面是一个官方给出的例子,当请求的响应有Retry-After头时,使用该值去进行等待,其他情况按照BackOffDelay策略进行延时等待。...if resp.StatusCode == http.StatusTooManyRequests { // check Retry-After...wait for the next retry if retryAfter, e := strconv.ParseInt(resp.Header.Get("Retry-After
resources-in-the-rest-api#rate-limiting Sentry 限流规则: https://develop.sentry.dev/sdk/rate-limiting/ 同时,会通过 X-RateLimit-XXX/Retry-After...x-ratelimit-used: 4 x-ratelimit-reset: 1372700873 # 伪代码 $ curl -I sentry-api HTTP/1.1 429 Too Many Requests Retry-After
如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间(内容可以为数字,单位为秒;或者是一个 HTTP 协议指定的时间格式)。...如果没有给出这个 Retry-After 信息,那么客户端应当以处理 500 响应的方式处理它。
Service Temporarily Unavailable' ); header( 'Status: 503 Service Temporarily Unavailable' ); header( 'Retry-After
就是在拿到Response之后,判断Response的header里面是否有Retry-After这个Header,如果有,就按照Retryer的配置进行重试,这个重试会重新调用整个调用栈进行重试(源代码略...feign.SynchronousMethodHandler和feign.codec.ErrorDecoder) 配置总结与目前的缺陷 目前实现的配置是,本机不重试,最多重试另一台机器,只对GET请求的返回码为500的请求重试,不考虑Retry-After...技术上避免,就是通过Openfeign的Retryer的重试实现,如果业务上发现数据库超时或者数据库连接不上的异常,就返回503并且填充Retry-After这个Header,让Openfeign的Retryer
如果只有服务器暂时无法处理,则会包含一个Retry-After的相应信息。 状态码414 请求的URI过长,服务器无法处理。 状态码415 服务器无法处理请求附带的媒体格式。...偃师的长度可以包含在服务器的Retry-After头信息中。 状态码504 充当网关或者代理的服务器,未及时从远端服务器获取请求。
10 次后,接口返回了如下结果: HTTP 429 Too Many Requests Allow: GET, HEAD, OPTIONS Content-Type: application/json Retry-After...5 次后,接口返回如下结果: HTTP 429 Too Many Requests Allow: GET, HEAD, OPTIONS Content-Type: application/json Retry-After
HTTP/1.1 可用 413 Request Entity Too Large (请求实体过长) 请求实体大小超过服务器的设置的最大限制,服务器可能会关闭HTTP链接并返回Retry-After 头字段...Service Unavailable (服务不可用) 由于临时的服务器维护或者过载,服务器当前无法处理请求.这个状况是临时的,并且将在一段时间以后恢复.如果能够预计延迟时间,那么响应中可以包含一个Retry-After...:头用以标明这个延迟时间.如果没有给出这个Retry-After:信息,那么客户端应当以处理500响应的方式处理它.同时,这种情况下,一个友好的用于解释服务器出现问题的页面应当被返回,并且,缓存相关的HTTP...HTTP/1.1 可用 413 Request Entity Too Large (请求实体过长) 请求实体大小超过服务器的设置的最大限制,服务器可能会关闭HTTP链接并返回Retry-After...:头用以标明这个延迟时间.如果没有给出这个Retry-After:信息,那么客户端应当以处理500响应的方式处理它.同时,这种情况下,一个友好的用于解释服务器出现问题的页面应当被返回,并且,缓存相关的HTTP
如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理 415 Unsupported...延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version not supported
param retryAfter String in * Retry-After...时会返回RetryableException;RetryAfterDecoder的apply方法会根据retryAfter来计算retryAfter日期,该retryAfter参数是从response的名为Retry-After
如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理 415 Unsupported...建议客户端读取相应的Retry-After 首部,然后等待该首部指出的时间后重试。...延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version not supported
未捕获的异常处理程序 uncaught exception) 日志框架集成 非阻塞事件提交 上下文数据助手(例如,设置当前用户,记录面包屑) 事件取样 Honor Sentry 的 HTTP 429 Retry-After...具体来说,SDK 必须遵守 429 状态代码,并且在 Retry-After 之前不要尝试发送。如果 Sentry 不可用,则 SDK 应该丢弃事件,而不是重试。...请注意: 我们不建议即使错误响应标头中声明了 Retry-After,SDK 也不会在发生错误时自动重试事件提交。如果请求一次失败,则很有可能在下一次尝试时再次失败。
Service Temporarily Unavailable" ); header( 'Status: 503 Service Temporarily Unavailable' ); header( 'Retry-After
如果这个状况是临时的,服务器 应该 返回一个 Retry-After 的响应头,以告知客户端可以在多少时间以后重新尝试。...由应用设定,其单位一般为小时/分钟等,这里是 10次/5分钟) X-RateLimit-Remaining: 0 当前剩余的请求数量 X-RateLimit-Reset: 1529839462 重置时间 Retry-After...Transfer-Encoding: chunked X-RateLimit-Limit: 10 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1529839462 Retry-After
领取专属 10元无门槛券
手把手带您无忧上云