Guzzle Pool: fi proxy iṣẹ́ kọ̀ọ̀kan lọ sí requestAsync
So àwọn àṣàyàn proxy mọ́ iṣẹ́ async kọ̀ọ̀kan dípò sí í mọ́ ìfiránṣẹ́ ìbéèrè PSR-7 tàbí ilé-iṣẹ́ tí ń dídì.
Fi proxy iṣẹ́ Guzzle kọ̀ọ̀kan sórí iṣẹ́ async tí adágún bẹ̀rẹ̀. Nínú ètò alábàákẹ́gbẹ́ tó ti wà, lo àwọn ilé-iṣẹ́ ìlérí:
$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();
Iṣẹ́ kọ̀ọ̀kan tí a ti ṣàyẹ̀wò ń pèsè ibi-àfojúsùn àti proxy kan. Fún ìbéèrè gbangba tí a gbà láàyè, olùdíje HTTP kan láti àkójọ proxy HTTP lè pèsè URL proxy iṣẹ́ yẹn láìsí ẹ̀rí ìdánimọ̀; yíyàn máa ń ṣẹlẹ̀ kí ilé-iṣẹ́ rẹ̀ tó ṣiṣẹ́. Ìbéèrè PSR-7 ń ṣàpèjúwe ìfiránṣẹ́ HTTP, nígbà tí àwọn àṣàyàn ìránṣẹ́ wọ̀nyí ń darí gbígbé. Títẹ̀ tàbí títọ́jú iye proxy lẹ́gbẹ̀ẹ́ ìfiránṣẹ́ kò lè ṣètò iṣẹ́ tí ń rán an ní ọ̀nà mìíràn.
Dá requestAsync() padà láti ilé-iṣẹ́. Pípè request() àfọwọ́kàn níbẹ̀ lè dídì nígbà tí adágún ń gbìyànjú láti bẹ̀rẹ̀ iṣẹ́ àpapọ̀.
Fi àwọn ìpè-padà kún fún àwọn èsì tí ó ṣẹ́ àti tí a kọ̀, ní lílo ìtọ́jú tó wà nínú ètò náà. Tọ́jú kọ́kọ́rọ́ iṣẹ́, ìdánimọ̀ proxy tí a yàn àti nọ́mbà ìgbìyànjú nínú èsì méjèèjì; ìlànà ìparí yàtọ̀ sí ìlànà ìwọlé. Má ṣe yan ojú-ìparí mìíràn ní ìkọ̀kọ̀ nínú ilé-iṣẹ́ lẹ́yìn tí a ti kọ ọ̀kan sílẹ̀ fún iṣẹ́ náà.
Iye ìgbà-kan ń dín iṣẹ́ adágún yìí kù. Ọ̀pọ̀ iṣẹ́ tí ń yan proxy tàbí àkọsílẹ̀ kan tí ó ní ààlà lè ṣì nílò ìsúná owó ọ̀tọ̀ fún ojú-ìparí yẹn.
Ṣàlàyé àwọn èsì ní ìpele: ìkọ̀ ojú-ìparí, ìjẹ́rìí proxy àti àkókò ìsopọ̀ tí ó dópin jẹ́ èsì ọ̀tọ̀ọ̀tọ̀. Àwọn àṣàyàn ìránṣẹ́ tí a tọ́jú pẹ̀lú iṣẹ́ ń fi hàn ọ̀nà wo ló mú èsì kọ̀ọ̀kan jáde.