اگر کوئی غیر ہم وقت درخواست کنکشن کھولنے سے پہلے وقت سے باہر ہو جائے تو نیٹ ورک ٹائم آؤٹ کے ساتھ ساتھ ٹرانسپورٹ کی فعال حدود بھی دیکھیں۔ جب وہ حدود بھر جائیں تو 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_CONNECTIONSmulti handler کے تحت بیک وقت کھلے کنکشن
MAX_HOST_CONNECTIONSایک ہوسٹ/پورٹ سے کنکشن؛ پروکسی کنکشن پروکسی اینڈ پوائنٹ کے خلاف شمار ہوتے ہیں
MAXCONNECTSاستعمال کے بعد کیش میں رکھے گئے کنکشن

ایک ہی پروکسی استعمال کرنے والی کئی ویب سائٹس کو خود بخود الگ پروکسی کنکشن کوٹے نہیں ملتے۔ غیر فعال کیش گنجائش نہ تو پیشگی کنکشن کھولتی ہے اور نہ انہیں قابل تبادلہ بناتی ہے: دوبارہ استعمال راستے، منزل، پروٹوکول اور تصدیق پر منحصر ہے۔

ایپلیکیشن کے کام کے بجٹ اور کسی بھی فراہم کنندہ کے کوٹے کو ان ٹرانسپورٹ بجٹ کے مطابق رکھیں۔ یہ کنکشن گنتے ہیں، فی سیکنڈ درخواستیں نہیں۔ ساکٹ ٹائم آؤٹ بڑھانے سے یہ شناخت نہیں ہو سکتی کہ قطار نے وقت لیا یا نیٹ ورک انتظار نے۔

متعلقہ مضامین