का उपयोग कर समानांतर में पृष्ठों को डाउनलोड करना मुझे एक ऐसी वेबसाइट स्क्रैप करना है जहां मुझे एकाधिक यूआरएल लाने की आवश्यकता है और फिर उन्हें एक-एक करके संसाधित करना होगा। वर्तमान प्रक्रिया कुछ हद तक इस तरह जाती है।PHP
मैं एक बेस यूआरएल लाता हूं और इस पृष्ठ से सभी माध्यमिक यूआरएल प्राप्त करता हूं, फिर प्रत्येक माध्यमिक यूआरएल के लिए मैं उस यूआरएल को प्राप्त करता हूं, प्रक्रिया पाता हूं, कुछ तस्वीरें डाउनलोड करता हूं (जो काफी लंबा समय लेता है) और इस डेटा को डेटाबेस में स्टोर करता है, फिर अगला यूआरएल लाएं और प्रक्रिया दोहराएं।
इस प्रक्रिया में, मुझे लगता है कि मैं प्रत्येक पुनरावृत्ति की शुरुआत में माध्यमिक यूआरएल लाने में कुछ समय बर्बाद कर रहा हूं। इसलिए मैं पहले पुनरावृत्ति को संसाधित करते समय समानांतर में अगले यूआरएल लाने की कोशिश कर रहा हूं।
मुख्य प्रक्रिया से एक PHP स्क्रिप्ट को कॉल करने के लिए, मेरे दिमाग में समाधान है, जो डाउनलोडर कहता है, जो सभी यूआरएल डाउनलोड करेगा (curl_multi
या wget
के साथ) और उन्हें कुछ डेटाबेस में स्टोर करें।
मेरे सवालों का
- कैसे कॉल करने के लिए इस तरह के downloder एसिंक्रोनस रूप, मैं नहीं चाहता कि मेरी मुख्य स्क्रिप्ट तक downloder पूरा करता इंतजार करना चाहते हैं।
- साझा किए गए डेटा जैसे साझा किए गए डेटा को स्टोर करने के लिए कोई भी स्थान। बेशक, डेटाबेस के अलावा।
- भंडारण और पुनर्प्राप्ति के दौरान डेटा भ्रष्ट हो जाता है, इस से बचने के लिए कोई संभावना नहीं है?
- इसके अलावा, कृपया मुझे बताएं कि किसी के पास बेहतर योजना है या नहीं।
PHP वास्तव में कई प्रक्रियाओं को लॉन्च करने के लिए डिज़ाइन नहीं किया गया है। इसे पूरा करने के लिए पाइथन जैसी भाषा क्यों न देखें? – afuzzyllama
@afuzzyllama यह सिर्फ एक उप मॉड्यूल है, पूरी परियोजना PHP –
[nodejs] (http://nodejs.org) में है इसके लिए यह सही होगा। – Xeoncross