當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R purrr rate-helpers 創建延遲率設置


這些助手創建您可以傳遞給 insistently()slowly() 的速率設置。您還可以通過 rate_sleep() 在您自己的函數中使用它們。

用法

rate_delay(pause = 1, max_times = Inf)

rate_backoff(
  pause_base = 1,
  pause_cap = 60,
  pause_min = 1,
  max_times = 3,
  jitter = TRUE
)

is_rate(x)

參數

pause

嘗試之間的延遲(以秒為單位)。

max_times

嘗試的最大請求數。

pause_base, pause_cap

rate_backoff() 使用指數 back-off,以便每個請求等待 pause_base * 2^i 秒,最多等待 pause_cap 秒。

pause_min

退避中等待的最短時間;通常僅當您需要暫停時間少於一秒時才需要(這可能對服務器不利,請謹慎使用!)。

jitter

是否在等待時間引入隨機抖動。

x

要測試的對象。

例子

# A delay rate waits the same amount of time:
rate <- rate_delay(0.02)
for (i in 1:3) rate_sleep(rate, quiet = FALSE)
#> Retrying in 0.02 seconds.
#> Retrying in 0.02 seconds.

# A backoff rate waits exponentially longer each time, with random
# jitter by default:
rate <- rate_backoff(pause_base = 0.2, pause_min = 0.005)
for (i in 1:3) rate_sleep(rate, quiet = FALSE)
#> Retrying in 0.047 seconds.
#> Retrying in 0.29 seconds.
源代碼:R/rate.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Create delaying rate settings。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。