Avatar ·

PHP अनुप्रयोगों में मल्टीथ्रेडिंग कैसे लागू करें?

सभी को नमस्ते! मैं लगभग एक साल से PHP में लिख रहा हूँ, और मुझे एक समस्या का सामना करना पड़ा जिसे मैं हल नहीं कर पा रहा हूँ। मुझे डेटा के एक बड़े ऐरे (डेटाबेस से लगभग 100,000 रिकॉर्ड) को प्रोसेस करना है, प्रत्येक रिकॉर्ड के लिए एक बाहरी API को HTTP-रिक्वेस्ट करनी है और परिणाम को सेव करना है। लूप में यह काम करता है, लेकिन बहुत धीमा है — एक रिक्वेस्ट में लगभग 0.5-1 सेकंड लगता है, और पूरी प्रोसेसिंग में कई घंटे लग सकते हैं। मैंने समानांतर रिक्वेस्ट के लिए `curl_multi_exec` का उपयोग करने की कोशिश की, लेकिन यह बिल्कुल वैसा नहीं है जैसा मुझे चाहिए, क्योंकि मुझे केवल HTTP-रिक्वेस्ट ही नहीं, बल्कि अन्य काम भी करने हैं (जैसे HTML पार्सिंग, फ़ाइलों में लिखना, इमेज प्रोसेसिंग)। यहाँ मेरे वर्तमान कोड का एक उदाहरण है: ```php $data = getLargeArrayFromDB(); // 100k रिकॉर्ड foreach ($data as $item) { $result = callExternalAPI($item['id']); ```