Guzzle کی درخواست کنکشن سلاٹ کے انتظار میں وقت سے باہر ہو سکتی ہے
مشترکہ handler پر cURL multi کے فعال کنکشن بجٹ مقرر کریں اور انہیں غیر فعال کیش گنجائش سے الگ رکھیں۔
اگر کوئی غیر ہم وقت درخواست کنکشن کھولنے سے پہلے وقت سے باہر ہو جائے تو نیٹ ورک ٹائم آؤٹ کے ساتھ ساتھ ٹرانسپورٹ کی فعال حدود بھی دیکھیں۔ جب وہ حدود بھر جائیں تو libcurl منتقلیوں کو قطار میں رکھتا ہے، اور قطار میں رہتے ہوئے ان کے ٹائم آؤٹ بجٹ جاری رہتے ہیں۔
Guzzle 7 کے مشترکہ cURL multi handler کے لیے:
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlMultiHandler;
$multi = new CurlMultiHandler([
'options' => [
CURLMOPT_MAX_TOTAL_CONNECTIONS => 24,
CURLMOPT_MAX_HOST_CONNECTIONS => 4,
],
]);
$client = new Client([
'handler' => HandlerStack::create($multi),
]);یہ کلائنٹ غیر ہم وقت کام کے لیے استعمال کریں اور آپریشنز پر اس کا مطلوبہ پروکسی آپشن دیں۔ اقدار مثال کے بجٹ ہیں۔ عوامی واسطے کے ذریعے اجازت یافتہ عوامی درخواستوں کے لیے، HTTP پروکسی فہرست آپریشنز کے پروکسی URLs کے لیے امیدوار فراہم کرتی ہے۔
| آپشن | بجٹ |
|---|---|
| MAX_TOTAL_CONNECTIONS | multi handler کے تحت بیک وقت کھلے کنکشن |
| MAX_HOST_CONNECTIONS | ایک ہوسٹ/پورٹ سے کنکشن؛ پروکسی کنکشن پروکسی اینڈ پوائنٹ کے خلاف شمار ہوتے ہیں |
| MAXCONNECTS | استعمال کے بعد کیش میں رکھے گئے کنکشن |
ایک ہی پروکسی استعمال کرنے والی کئی ویب سائٹس کو خود بخود الگ پروکسی کنکشن کوٹے نہیں ملتے۔ غیر فعال کیش گنجائش نہ تو پیشگی کنکشن کھولتی ہے اور نہ انہیں قابل تبادلہ بناتی ہے: دوبارہ استعمال راستے، منزل، پروٹوکول اور تصدیق پر منحصر ہے۔
ایپلیکیشن کے کام کے بجٹ اور کسی بھی فراہم کنندہ کے کوٹے کو ان ٹرانسپورٹ بجٹ کے مطابق رکھیں۔ یہ کنکشن گنتے ہیں، فی سیکنڈ درخواستیں نہیں۔ ساکٹ ٹائم آؤٹ بڑھانے سے یہ شناخت نہیں ہو سکتی کہ قطار نے وقت لیا یا نیٹ ورک انتظار نے۔