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 ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಕಾರ್ಯಾಚರಣೆಗಳ ಪ್ರಾಕ್ಸಿ URL ಗಳಿಗೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
| ಆಯ್ಕೆ | ಬಜೆಟ್ |
|---|---|
| MAX_TOTAL_CONNECTIONS | multi handler ಅಡಿಯಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ತೆರೆದ ಸಂಪರ್ಕಗಳು |
| MAX_HOST_CONNECTIONS | ಒಂದು ಹೋಸ್ಟ್/ಪೋರ್ಟ್ಗೆ ಸಂಪರ್ಕಗಳು; ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕಗಳು ಪ್ರಾಕ್ಸಿ ಎಂಡ್ಪಾಯಿಂಟ್ ವಿರುದ್ಧ ಎಣಿಸಲ್ಪಡುತ್ತವೆ |
| MAXCONNECTS | ಬಳಕೆಯ ನಂತರ ಕ್ಯಾಶ್ನಲ್ಲಿ ಉಳಿಸಿಕೊಂಡ ಸಂಪರ್ಕಗಳು |
ಒಂದೇ ಪ್ರಾಕ್ಸಿ ಬಳಸುವ ಹಲವು ವೆಬ್ಸೈಟ್ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರತ್ಯೇಕ ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕ ಕೋಟಾಗಳನ್ನು ಪಡೆಯುವುದಿಲ್ಲ. ನಿಷ್ಕ್ರಿಯ ಕ್ಯಾಶ್ ಸಾಮರ್ಥ್ಯವು ಮುಂಚಿತವಾಗಿ ಸಂಪರ್ಕಗಳನ್ನು ತೆರೆಯುವುದಿಲ್ಲ ಮತ್ತು ಅವುಗಳನ್ನು ಪರಸ್ಪರ ಬದಲಾಯಿಸಬಹುದಾದಂತೆ ಮಾಡುವುದಿಲ್ಲ: ಮರುಬಳಕೆಯು ಮಾರ್ಗ, ಗಮ್ಯಸ್ಥಾನ, ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.
ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯ ಬಜೆಟ್ ಮತ್ತು ಯಾವುದೇ ಪೂರೈಕೆದಾರರ ಕೋಟಾವನ್ನು ಈ ಸಾರಿಗೆ ಬಜೆಟ್ಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗಿ ಇರಿಸಿ. ಅವು ಸಂಪರ್ಕಗಳನ್ನು ಎಣಿಸುತ್ತವೆ, ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ವಿನಂತಿಗಳನ್ನಲ್ಲ. ಸಾಕೆಟ್ ಟೈಮೌಟ್ ಹೆಚ್ಚಿಸುವುದರಿಂದ ಸರದಿ ಅಥವಾ ನೆಟ್ವರ್ಕ್ ಕಾಯುವಿಕೆ ಸಮಯವನ್ನು ಬಳಸಿತೇ ಎಂದು ಗುರುತಿಸಲಾಗುವುದಿಲ್ಲ.