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() ඇමතීම තටාකය එකවර වැඩ ආරම්භ කිරීමට උත්සාහ කරන විට අවහිර කළ හැක.
යෙදුමේ දැනට ඇති හැසිරවීම භාවිතයෙන් ඉටු කළ සහ ප්රතික්ෂේප කළ ආපසු ඇමතුම් එක් කරන්න. කාර්ය යතුර, තෝරාගත් ප්රොක්සි හඳුනාගැනීම සහ උත්සාහ අංකය ප්රතිඵල දෙකෙහිම තබන්න; සම්පූර්ණ වීමේ අනුපිළිවෙල ආදාන අනුපිළිවෙලට වඩා වෙනස් වේ. කාර්යය සඳහා එකක් වාර්තා කිරීමෙන් පසු කර්මාන්තශාලාව තුළ රහසිගතව වෙනත් අන්ත ලක්ෂ්යයක් තෝරන්න එපා.
සමගාමී අගය මෙම තටාකයේ වැඩ සීමා කරයි. එක් සීමිත ප්රොක්සියක් හෝ ගිණුමක් තෝරන කාර්යයන් කිහිපයකට තවමත් එම අන්ත ලක්ෂ්යය සඳහා වෙනම අයවැයක් අවශ්ය විය හැක.
ප්රතිඵල අදියර අනුව අර්ථ දක්වන්න: ගමනාන්තය ප්රතික්ෂේප වීම, ප්රොක්සි සත්යාපනය සහ සම්බන්ධතා කාලය ඉකුත් වීම වෙනස් ප්රතිඵල වේ. කාර්යය සමඟ තබා ඇති යැවීම් විකල්ප පෙන්වන්නේ කුමන මාර්ගයෙන් සෑම ප්රතිඵලයක්ම ලැබුණිද යන්නයි.