我的目标是从Shopify导入客户的订单历史。 Shopify仅允许我每个请求导入250个订单,但我的客户却有数千个。

(基本上)这是我目前使用httr的工作解决方案,它非常慢

fetchedList <- list()

# Loop through pages of orders and collect them
for(pg in 1:10){

  requestURL <- paste0("https://abc-store.myshopify.com/admin/orders.json?page=", p)

  fetched <- httr::GET(
    url = requestURL,
    httr::add_headers(Accept = "application/json"),
    httr::authenticate(user = "foo", password = "bar")
  )

  # Append the fetched response to fetchedList
  fetchedList <- c(fetchedList, list(fetched))
}

# Process the results...


我想通过发出多个并发请求来加快速度。我该如何实现?似乎curlRCurl都支持此功能,但是我对HTTP还是很陌生,无法使用任何一种解决方案。

最佳答案

您应该使用multi api进行并发请求。请参见手册的?multi_run或小插图中有关async requests的部分。

也有一些包装了multi api的程序包,以使其变得更容易。 crul package(注意关键不是拼写错误:)或更多,如果您想真正了解async软件包。

08-25 21:15