guzzle的Promise\Utils::unwrap出现504 time out问题
$data = Cache::get($key);
$client = new Client(['timeout' => 600]);
$promises = [];
foreach($data as $value){
$option = [
'headers' => $headers,
'multipart' => $multipartData,
];
$promises[$i] = $client->postAsync($this->httpUrl,$option)
}
if($promises){
$responses = Promise\Utils::unwrap($promises);
}
每个请求平均15s才能响应,每个进程每秒都会发20-30个请求,从第三秒开始就会出现504 time out的情况。如果是其他接口只要2-3s响应的接口就不会出现504 time out的情况
一个进程一个同步堵塞的请求较少情况出现504的报错
是php.ini还是服务器配置有问题导致会出现504 time out
推荐文章: