मैं node.js के लिए एप्लिकेशन स्थिति को कैसे सहेज सकता हूं जिसमें अधिकांश HTTP अनुरोध शामिल है?Node.js में आवेदन स्थिति सहेजना
मेरे पास नोड.जेएस में एक स्क्रिप्ट है जो ई-कॉमर्स एप्लिकेशन में बड़ी संख्या में उत्पादों (10,000+) उत्पादों को आयात करने के लिए एक विश्वसनीय API के साथ काम करती है। एपीआई की अनुरोधों की मात्रा पर एक सीमा है जिसे हम बनाया जा सकता है और हम उस सीमा के खिलाफ ब्रश करने के लिए देख रहे हैं। पिछली दौड़ पर स्क्रिप्ट Error: connect ETIMEDOUT
के साथ संभवतः अधिक एपीआई सीमाओं के कारण निकल गई। मैं 5 बार कनेक्ट करने का प्रयास करने में सक्षम होना चाहता हूं और यदि सीमा को बहाल कर दिया गया है तो एक घंटे के बाद फिर से शुरू हो जाता है।
क्रैश के मामले में प्रगति को बचाने के लिए भी फायदेमंद होगा (बिजली गिर जाती है, नेटवर्क क्रैश आदि)। और उस बिंदु से स्क्रिप्ट को फिर से शुरू करने में सक्षम हो जाएं।
मुझे पता है कि नोड.जेएस एक विशाल घटना-कतार के रूप में कार्य करता है, सभी http अनुरोध और उनके कॉलबैक उस कतार में (कुछ अन्य घटनाओं के साथ) में डाल दिए जाते हैं। यह वर्तमान निष्पादन की स्थिति को बचाने के लिए इसे एक प्रमुख लक्ष्य बनाता है। अन्य सुखद (इस परियोजना के लिए पूरी तरह से जरूरी नहीं) थ्रूपुट बढ़ाने के लिए विभिन्न नेटवर्कों पर कई मशीनों के बीच काम वितरित करने में सक्षम होंगे।
तो क्या ऐसा करने का कोई मौजूदा तरीका है? शायद एक ढांचा? या क्या मुझे इसे स्वयं लागू करने की ज़रूरत है, उस स्थिति में, इस पर किए जाने वाले किसी भी उपयोगी संसाधन की सराहना की जाएगी।
आप जो चाहते हैं वह एक * लगातार नौकरी कतार * है। उनमें से कई हैं; एक बेहतर दिखने वाला एक है [क्यू] (http://learnboost.github.com/kue/) (रेडिस पर निर्माण)। –
मुझे लगता है कि आप बिल्कुल सही हैं। क्यू काफी शानदार है।तो मूल रूप से निर्माता में मैं अपनी डेटा फ़ाइल पढ़ रहा हूं और उपभोक्ता में मैं प्रत्येक उत्पाद को जोड़/अपडेट कर सकता हूं। तो प्रत्येक उत्पाद एक अलग नौकरी होगी। –