我的目标是从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...
我想通过发出多个并发请求来加快速度。我该如何实现?似乎curl和RCurl都支持此功能,但是我对HTTP还是很陌生,无法使用任何一种解决方案。
最佳答案
您应该使用multi api进行并发请求。请参见手册的?multi_run
或小插图中有关async requests的部分。
也有一些包装了multi api的程序包,以使其变得更容易。 crul package(注意关键不是拼写错误:)或更多,如果您想真正了解async软件包。