PHP में Async कर्ल अनुरोध
PHP में कर्ल पोस्ट अनुरोधों को एसिंक्रोनस रूप से निष्पादित करने से प्रदर्शन बढ़ सकता है और संभावित देरी को रोका जा सकता है। यहां बताया गया है कि आप विभिन्न तरीकों का उपयोग करके इसे कैसे प्राप्त कर सकते हैं:
Async cURL फ़ंक्शंस का उपयोग करना
curl_multi_* का उपयोग करते समय, आप एक साथ कई cURL अनुरोध निष्पादित कर सकते हैं। यहां एक उदाहरण कोड है:
$curl = curl_init($request);
curl_setopt($curl, CURLOPT_URL, $url_onfleet);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERPWD, $api_onfleet);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, '{"destination":{"address":{"unparsed":"'.$pickup_address.'"},"notes":"'.$comments.'"},"recipients":[{"name":"'.$name.'","phone":" 61'.$phone.'","notes":"Number of riders: '.$riders.'"}],"completeBefore":'.$timestamp.',"pickupTask":"yes","autoAssign":{"mode":"distance"}}');
$mh = curl_multi_init();
curl_multi_add_handle($mh,$curl);
$active = null;
//execute the handles
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
//close the handles
curl_multi_remove_handle($mh, $curl);
curl_multi_close($mh);
pThreads का उपयोग करना
pThreads PHP के लिए एक थ्रेडिंग लाइब्रेरी है। यहां बताया गया है कि आप इसे एसिंक कर्ल अनुरोधों के लिए कैसे उपयोग कर सकते हैं:
class Request1 extends Thread {
public function run() {
// Execute the first cURL request here
}
}
class Request2 extends Thread {
public function run() {
// Execute the second cURL request here
}
}
$req1 = new Request1();
$req1->start();
$req2 = new Request2();
$req2->start();
दोनों विधियां कर्ल अनुरोधों के अतुल्यकालिक निष्पादन की अनुमति देती हैं, जिससे बेहतर प्रदर्शन और समानांतर कार्यों का कुशल संचालन संभव हो पाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3