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() غږول کېدای شي بند کړي کله چې پول هڅه کوي هممهاله کار پیل کړي.
د اپلیکېشن موجوده سمبالښت په کارولو سره د بشپړو او رد شوو پایلو لپاره کال بکونه زیات کړئ. د کار کیلي، ټاکل شوي پروکسي پېژندګلوي او د هڅې شمېره په دواړو پایلو کې وساتئ؛ د بشپړېدو ترتیب د ننوتلو له ترتیب څخه توپیر لري. د کار لپاره له یوې ثبت وروسته په فابریکه کې په پټه توګه بل پای ټکی مه ټاکئ.
د هممهالنې ارزښت د دې پول کار محدودوي. څو کارونه چې یو محدود پروکسي یا حساب ټاکي لا هم کېدای شي د هغه پای ټکي لپاره جلا بودیجه ته اړتیا ولري.
پایلې د پړاو له مخې تشریح کړئ: د هدف ردول، د پروکسي تصدیق او د اړیکې وخت ختمېدل بېلابېلې پایلې دي. د کار سره ساتل شوي لېږلو اختیارونه ښیي کومه لار هر نتیجه تولید کړه.