3
私は以下の状況で助けが必要です: POSTリクエストをAPIエンドポイントに送信する必要があります。これはリクエストを同時に処理できます。しかし、それぞれに時間がかかります。時間を短縮するために、一度に複数のPOST要求を送信したい。Guzzleで同時POSTリクエストを実行するには?
はここにいくつかのコードの断片である:
use GuzzleHttp\Pool as GuzzlePool;
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Psr7\Request as GuzzleRequest;
[...]
foreach ($aRequestParams as $sRequestParam) {
$aRequestList[] = new GuzzleRequest('POST', $sRoute,
[
// 'form_params' => [
// 'jsonString' => $sRequestParam
// ]
'body' => $sRequestParam
// 'multipart' => [
// [
// 'name' => 'jsonString',
// 'contents' => $sRequestParam
// ]
// ]
]
);
}
$oGuzzlePool = new GuzzlePool(new GuzzleClient(), $aRequestList, [
'concurrency' => 8,
'fulfilled' => [$this, 'processFulfilledCallback'],
'rejected' => [$this, 'processRejectedCallback']
]);
$oPromise = $oGuzzlePool->promise();
$oPromise->wait();
コールバック関数を要求した後に呼び出されますが、不足しているPOSTペイロードがあります。どのようにGuzzleRequestを設定する必要がありますか?