【发布时间】:2020-11-20 14:55:39
【问题描述】:
我正在做一个项目,我需要使用 Guzzle 对端点执行 2000 个异步请求,并且每次我需要更改 url 参数中的 ID。
端点如下所示:http://example.com/api/book?id=X
我尝试使用 for 循环来做到这一点,唯一的问题是它不是异步的。执行此类任务的更有效方法是什么?
public function fetchBooks () {
$client = new Client();
$responses = [];
for ($i=1; $i < 2000; $i++) {
$response = $client->post('https://example.com/api/book?id=' . $i);
array_push($responses, json_decode($response->getBody(), true));
}
return $responses;
}
【问题讨论】: