Guzzle Pool: ஒவ்வொரு வேலையின் ப்ராக்ஸியை requestAsync-க்கு அனுப்புங்கள்
ப்ராக்ஸி விருப்பங்களை PSR-7 கோரிக்கை செய்தி அல்லது தடுக்கும் ஃபேக்டரிக்கு அல்ல, ஒவ்வொரு ஒத்திசைவற்ற செயல்பாட்டிற்கும் இணைக்கவும்.
ஒவ்வொரு Guzzle வேலையின் ப்ராக்ஸியையும் குளம் தொடங்கும் ஒத்திசைவற்ற செயல்பாட்டின் மீது வையுங்கள். ஏற்கனவே உள்ள கிளையண்ட் அமைப்பிற்குள், வாக்குறுதி ஃபேக்டரிகளைப் பயன்படுத்துங்கள்:
$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();
சரிபார்க்கப்பட்ட ஒவ்வொரு வேலையும் ஒரு இலக்கையும் ஒரு ப்ராக்ஸியையும் வழங்குகிறது. அனுமதிக்கப்பட்ட பொது கோரிக்கைக்கு, HTTP ப்ராக்ஸி பட்டியலில் இருந்து ஒரு HTTP வேட்பாளர் அந்த வேலையின் சான்றுகள் இல்லாத ப்ராக்ஸி URL-ஐ வழங்க முடியும்; தேர்வு அதன் ஃபேக்டரி இயங்குவதற்கு முன்பே நடக்கிறது. PSR-7 கோரிக்கை HTTP செய்தியை விவரிக்கிறது, அதே நேரத்தில் இந்த அனுப்பும் விருப்பங்கள் போக்குவரத்தைக் கட்டுப்படுத்துகின்றன. செய்திக்கு அருகில் ப்ராக்ஸி மதிப்பை அச்சிடுவதோ சேமிப்பதோ அதை வேறு வழியில் அனுப்பும் செயல்பாட்டை உள்ளமைக்க முடியாது.
ஃபேக்டரியிலிருந்து requestAsync() திருப்பித் தாருங்கள். அங்கு ஒத்திசைவான request() அழைப்பது, குளம் ஒரே நேர வேலையைத் தொடங்க முயலும்போது தடுக்கலாம்.
பயன்பாட்டின் ஏற்கனவே உள்ள கையாளுதலைப் பயன்படுத்தி நிறைவேற்றப்பட்ட மற்றும் நிராகரிக்கப்பட்ட கால்பேக்குகளைச் சேர்க்கவும். வேலை விசை, தேர்ந்தெடுக்கப்பட்ட ப்ராக்ஸி அடையாளம் மற்றும் முயற்சி எண்ணை இரு முடிவுகளிலும் வைத்திருங்கள்; நிறைவு வரிசை உள்ளீட்டு வரிசையிலிருந்து வேறுபடும். வேலைக்கு ஒன்றைப் பதிவு செய்த பிறகு ஃபேக்டரியில் ரகசியமாக மற்றொரு முனையைத் தேர்ந்தெடுக்க வேண்டாம்.
ஒரே நேர மதிப்பு இந்தக் குளத்தின் வேலையை வரம்பிடுகிறது. ஒரே வரம்புக்குட்பட்ட ப்ராக்ஸி அல்லது கணக்கைத் தேர்ந்தெடுக்கும் பல வேலைகளுக்கு இன்னும் அந்த முனைக்கு தனி பட்ஜெட் தேவைப்படலாம்.
முடிவுகளை நிலைவாரியாக விளக்குங்கள்: இலக்கு நிராகரிப்பு, ப்ராக்ஸி அங்கீகாரம் மற்றும் இணைப்பு நேரம் முடிவது வெவ்வேறு முடிவுகள். வேலையுடன் வைத்திருக்கப்படும் அனுப்பும் விருப்பங்கள் எந்தப் பாதை ஒவ்வொரு முடிவையும் தந்தது என்பதைக் காட்டுகின்றன.