Guzzle Pool: u gudbi proxy-ga shaqo kasta requestAsync
Ku lifaaq ikhtiyaarada proxy hawlgal kasta oo async ah halkii fariinta codsiga PSR-7 ama warshad xannibaysa.
Dhig proxy-ga shaqo kasta oo Guzzle ah hawlgal ka mid ah kan async-ka ee barkadu bilowdo. Gudaha hagaajinta macmiil ee jira, isticmaal warshadaha ballanqaadka:
$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();
Shaqo kasta oo la xaqiijiyay waxay bixisaa meel iyo proxy. Codsi dadweyne oo la ogolaaday, musharrax HTTP oo ka socda liiska proxy HTTP ayaa bixin kara URL-ka proxy-ga ee shaqadaas oo aan aqoonsi lahayn; xulashada waxay dhacdaa ka hor inta uusan warshaddiisu shaqayn. Codsiga PSR-7 wuxuu qeexaa fariinta HTTP, halka ikhtiyaaradan dirista ay xakameeyaan gaadiidka. Daabacaadda ama kaydinta qiimaha proxy-ga ag fariinta ma qaabayn karto hawlgal u diraya si kale.
Ka soo celi requestAsync() warshadda. Wicitaanka request() isku-xiran halkaas waxa uu xannibi karaa inta barkadu isku dayayso inay bilowdo shaqo isku mar ah.
Ku dar callbacks natiijooyinka la oofsaday iyo kuwa la diiday adigoo isticmaalaya maaraynta jirta ee barnaamijka. Hayso furaha shaqada, aqoonsiga proxy-ga la doortay iyo lambarka isku dayga labada natiijo; nidaamka dhamaystirka wuu ka duwan yahay nidaamka gelinta. Ha si qarsoodi ah u dooran meel kale oo dhammaad ah warshadda ka dib markii mid loo diiwaangeliyay shaqada.
Qiimaha isku-mar-ka ayaa xaddidaya shaqada barkadan. Shaqooyin badan oo dooranaya hal proxy ama akoon xaddidan ayaa laga yaabaa inay weli u baahdaan miisaaniyad gooni ah meeshaas dhammaadka.
U fasir natiijooyinka marxalad ahaan: diidmada meesha, xaqiijinta proxy-ga iyo waqtiga xidhiidhka oo dhammaaday waa natiijooyin kala duwan. Ikhtiyaarada dirista ee shaqada la hayo waxay muujinayaan waddada soo saartay natiijo kasta.