2012-12-29 697 views
8

एम्बर को डेटा को संसाधित करने का प्रयास करते समय ब्राउज़र को लॉक करने के लिए मजबूर करने वाले बड़े डेटा सेटों के कारण किसी समस्या का समाधान ढूंढना।बड़े डेटा सेटों का सामना करने पर एम्बर चकमा

पेजिनेशन के लिए, मैं बैकएंड एपीआई से लगभग 13,000+ ऑब्जेक्ट्स लोड होने के लिए tchak के आसान pagination mixin का उपयोग कर रहा हूं।

एम्बर डेटा ऑब्जेक्ट्स में एक आईडी, एक टेक्स्ट विशेषता और कई संख्या विशेषताएँ होती हैं।

समस्या यह है कि ब्राउज़र डेटा को संसाधित करने से एक मिनट पहले लेता है, इस दौरान ब्राउजर को अनुपयोगी प्रदान करता है। फ़ायरफ़ॉक्स भी एक चेतावनी जारी करने के लिए जाता है कि एक स्क्रिप्ट सभी ब्राउज़र संसाधनों का उपयोग कर रही है और सुझाव देती है कि स्क्रिप्ट समाप्त हो जाएगी।

मैंने अपना खुद का पेजिनेशन मिश्रण लिखा है जो वस्तुओं द्वारा अनुरोध करता है, यानी 10-25 आइटम, और यह एक गंभीर सीमा को छोड़कर आम तौर पर अच्छी तरह से काम करता है: सॉर्टिंग। डेटा को सॉर्ट करने के लिए, मुझे बैकएंड को अतिरिक्त अनुरोध करने और ऑब्जेक्ट को फिर से लोड करने की आवश्यकता है, भले ही उनमें से कुछ पहले ही लोड हो चुके हों।

बैकएंड एपीआई के अतिरिक्त अनुरोध किए बिना सॉर्टिंग की प्रक्रिया को सरल बनाने के लिए मैं सभी सामग्री को आगे लोड करने में सक्षम होना पसंद करूंगा। मैं इस मुद्दे से निपटने के तरीके पर मार्गदर्शन की तलाश में हूं लेकिन मैं पूरी तरह से वैकल्पिक दृष्टिकोण के लिए खुला हूं।

और कुछ नहीं है, यह के रूप में यह ArrayController में सभी 13k वस्तुओं को लोड करने की कोशिश करता है ब्राउज़र पर संसाधन पदचिह्न एंबर स्थानों कम करने के लिए संभव है?


मैं नवीनतम एम्बर डेटा (वर्तमान में संशोधन 10 में) के साथ एम्बर 1.0.0-प्री 2 का उपयोग कर रहा हूं।

बैकएंड पर रेल 3.2.8 है।


अद्यतन मैं एक ArrayController संपत्ति content के अलावा अन्य में डेटा लोड करके समस्या कर ली थी। यह लोड समय को एक मिनट से कुछ ही सेकंड तक नीचे लाया। मैं फिर आइटम की अनुरोधित संख्या को टुकड़ा करता हूं और उन्हें सामग्री में लोड करता हूं। डेटा को आसानी से सॉर्ट करने में सक्षम नहीं होने की लागत पर, यह किसी भी संख्या के आइटम के लिए अच्छी तरह से काम करता है।

+0

आप समाधान के बारे में कुछ कोड का हिस्सा कर सकते हैं? मुझे एक ही समस्या का सामना करना पड़ रहा है और यह एक बड़ी मदद होगी। इसके लिए –

उत्तर

5

मेरा सुझाव है कि आप Ember Table पर एक नज़र डालें। डेमो 500 000 रिकॉर्ड के साथ एक टेबल दिखाता है और बहुत तेज़ काम करता है। स्रोत कोड के आसपास खोदने से मदद मिल सकती है।

+1

+1। समस्या सबसे अधिक संभावना है कि आप उन्हें एक साथ में प्रस्तुत करने की कोशिश कर रहे हैं। – nicholaides

+0

मैं केवल 15-20 आइटम प्रदान की गई है, लेकिन अगर आप देख मुद्दा ऊपर मेरी अद्यतन करने के लिए कैसे ArrayController सामग्री संभालती संबंधित प्रतीत होती है। – Marco

0

आप अपने डाटाबेस कि छंटाई हैंडल से एक दृश्य क्वेरी नहीं कर सकते हैं? क्वेरी स्ट्रिंग में तरह की स्थिति में दर्रा? sortBy = नाम & sortAsc = सच

+0

और मैं सिर्फ अपने खुद के डेटा की एक सीमा प्राप्त के बारे में सवाल का जवाब दे। एक महीने या वित्तीय तिमाही के लिए कहें –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^