Guzzle Pool: għaddi l-proxy ta' kull xogħol lil requestAsync
Qabbad l-għażliet tal-proxy ma' kull operazzjoni asinkronika minflok mal-messaġġ tat-talba PSR-7 jew ma' fabbrika li timblokka.
Qiegħed il-proxy ta' kull xogħol Guzzle fuq l-operazzjoni asinkronika li jibda l-pool. Ġewwa konfigurazzjoni tal-klijent eżistenti, uża fabbriki tal-wegħda:
$operations = function () use ($client, $jobs) {
foreach ($jobs as $id => $job) {
yield $id => function () use ($client, $job) {
return $client->requestAsync('GET', $job['url'], [
'proxy' => $job['proxy'],
'timeout' => 20,
]);
};
}
};
$pool = new GuzzleHttp\Pool($client, $operations(), [
'concurrency' => 4,
]);
$pool->promise()->wait();
Kull xogħol ivvalidat jipprovdi destinazzjoni u proxy. Għal talba pubblika permessa, kandidat HTTP mil-lista tal-proxy HTTP jista' jipprovdi l-URL tal-proxy ta' dak ix-xogħol mingħajr kredenzjali; l-għażla ssir qabel ma taħdem il-fabbrika tiegħu. Talba PSR-7 tiddeskrivi l-messaġġ HTTP, filwaqt li dawn l-għażliet tal-bgħit jikkontrollaw it-trasport. L-istampar jew il-ħażna ta' valur tal-proxy ħdejn il-messaġġ ma jistax jikkonfigura operazzjoni li tibgħatha b'mod ieħor.
Irritorna requestAsync() mill-fabbrika. Sejħa ta' request() sinkronika hemmhekk tista' timblokka waqt li l-pool qed jipprova jibda xogħol konkorrenti.
Żid callbacks għal riżultati mwettqa u miċħuda bl-użu tal-immaniġġjar eżistenti tal-applikazzjoni. Żomm iċ-ċavetta tax-xogħol, l-identifikatur tal-proxy magħżul u n-numru tal-attentat fiż-żewġ eżiti; l-ordni tat-tlestija hija differenti mill-ordni tal-input. Tagħżilx bil-moħbi punt tat-tmiem ieħor fil-fabbrika wara li jkun irreġistrat wieħed għax-xogħol.
Il-valur tal-konkorrenza jillimita x-xogħol ta' dan il-pool. Diversi xogħlijiet li jagħżlu proxy jew kont wieħed ristrett xorta jistgħu jeħtieġu baġit separat għal dak il-punt tat-tmiem.
Interpreta r-riżultati skont il-fażi: ċaħda tad-destinazzjoni, awtentikazzjoni tal-proxy u timeout tal-konnessjoni huma eżiti differenti. L-għażliet tal-bgħit miżmuma max-xogħol juru liema rotta pproduċiet kull riżultat.