स्थिति:
मैं एक php स्क्रिप्ट के लिए अनुरोध भेजने के लिए $ .ajax() POST का उपयोग कर रहा हूं जो 400,000-500,000 लाइनों को एक डीबी में सम्मिलित करता है। इसमें लगातार 3.5 - 4 मिनट लगते हैं। (इस समय के दौरान, अनुरोध पेंडिंग है)।
समस्या:
मुझे पृष्ठ पर प्रगति दिखाने के लिए कुछ तरीका चाहिए। (जैसे की %)। मैंने एक सेट में $ .ajax() का उपयोग करने की कोशिश की, अंतराल जो हर 5 सेकंड या उससे भी अधिक की जांच करता है, लेकिन वे निर्माण करते हैं और सभी तब आते हैं जब पहला (लंबा) $ .ajax() समाप्त हो जाता है।
प्रश्न:
डिफ़ॉल्ट रूप से $ .ajax() async नहीं है? क्या इसका मतलब किसी भी क्रम में और किसी भी समय अनुरोध नहीं किया जा सकता है, और प्रतिक्रिया किसी भी क्रम में और किसी भी समय प्राप्त की जानी चाहिए ?? क्या यह एसिंक के साथ कुछ भी करने के लिए है? क्या एक अनुरोध से समय-समय पर 'अर्ध-प्रतिक्रिया' वापस भेजने का कोई तरीका है? या लंबित अनुरोध/प्रतिक्रिया होने पर मैं अनुरोध/प्रतिक्रिया भेज और प्राप्त नहीं कर सकता हूं? (नीचे भयानक चित्र देखें)
अग्रिम धन्यवाद !!!
multiple requests http://kshaneb.com/reqres.png
ग्राफ के लिए +1 के साथ परीक्षण किया गया। :) क्या आपने अपने डेटा को तोड़ने पर विचार किया था, यानी प्रत्येक 10k पंक्तियों के अलग-अलग आवश्यकताएं भेज रहे थे? स्पष्टीकरण के लिए –
+1। क्या आपने एसिंक सच के साथ प्रयास किया .. – sathish
मैं ऊपर ज़ोल्ल्ट से सहमत हूं, अपने डेटा को कई छोटे अनुरोधों में छेड़छाड़ करने पर विचार करें जो आपको तेजी से प्रतिक्रिया दे सकता है, आप भी अनुरोधों के पूरा होने के% आधार की गणना कर सकते हैं। एकल अनुरोध में बड़े डेटा को अपलोड करना, हालांकि एसिंक, धीमे प्रदर्शन के परिणामस्वरूप भी होगा। –