如何在 guzzle6 中获取 Pool 请求的传输时间?
How to get transfer time for Pool requests in guzzle6?
我想获取每个请求的传输时间。
如何为异步请求使用 on_stats
选项?
http://docs.guzzlephp.org/en/latest/request-options.html#on-stats
我的代码:
<?php
use GuzzleHttp\{Pool, Client};
use GuzzleHttp\Psr7\{
Request, Response
};
$httpClient = new Client();
foreach ($items as $request) {
$requests[] = new Request(...);
}
$responses = Pool::batch($httpClient, $requests, ['fulfilled' => function($response, $index) {
});
解决方案:
$responses = Pool::batch($httpClient, $requests, ['fulfilled' => function($response, $index) {
}, 'options' => ['on_stats' => function(TransferStats $stats) {
//..
}]]);
我想获取每个请求的传输时间。
如何为异步请求使用 on_stats
选项?
http://docs.guzzlephp.org/en/latest/request-options.html#on-stats
我的代码:
<?php
use GuzzleHttp\{Pool, Client};
use GuzzleHttp\Psr7\{
Request, Response
};
$httpClient = new Client();
foreach ($items as $request) {
$requests[] = new Request(...);
}
$responses = Pool::batch($httpClient, $requests, ['fulfilled' => function($response, $index) {
});
解决方案:
$responses = Pool::batch($httpClient, $requests, ['fulfilled' => function($response, $index) {
}, 'options' => ['on_stats' => function(TransferStats $stats) {
//..
}]]);