मुझे एक सेवा मिली है जो विभिन्न सर्वरों के स्कैन चलाती है। प्रश्न में नेटवर्क विशाल हो सकते हैं (हजारों नेटवर्क नोड्स)।टीपीएल कतार का प्रबंधन
सॉफ्टवेयर के वर्तमान संस्करण एक कतार/सूत्रण हमें द्वारा डिजाइन वास्तुकला जो काम करता है, लेकिन जैसा कि कुशल के रूप में यह हो सकता है नहीं है (जिनमें से कम से कम नहीं है क्योंकि नौकरियों बच्चों जो अच्छी तरह से संभाला नहीं है अंडे कर सकते हैं)
उपयोग कर रहा हैवी 2 आ रहा है और मैं टीपीएल का उपयोग करने पर विचार कर रहा हूं। ऐसा लगता है कि यह आदर्श रूप से उपयुक्त होना चाहिए।
मैं this question है, जो करने के लिए इस सवाल का जवाब कार्यों TPL संभाल कर सकते हैं करने के लिए कोई सीमा नहीं है निकलता है देखा है। मेरे सरल परीक्षणों में (100,000 कार्यों को स्पिन करें और उन्हें टीपीएल को दें), टीपीएल ने आउट ऑफ़ मेमोरी अपवाद के साथ काफी जल्दी बार्फ़ किया (काफी उचित - विशेष रूप से मेरे देव बॉक्स पर)।
स्कैन समय की एक चर लंबाई ले लेकिन 5 मिनट/काम के लिए एक अच्छा औसत है।
आप कल्पना कर सकते हैं, बहुत बड़ा नेटवर्क के लिए स्कैन समय के एक काफी लंबाई ले जा सकते हैं, यहां तक कि मांसल सर्वर पर।
मुझे पहले से ही एक ढांचा मिल गया है जो कई स्कैन सर्वरों के बीच स्कैन जॉब्स (डीबी में संग्रहीत) को विभाजित करने की अनुमति देता है, लेकिन सवाल यह है कि मुझे एक विशिष्ट सर्वर पर टीपीएल को वास्तव में कैसे काम करना चाहिए।
मैं TPL की कतार के आकार और पर नजर रखने के कर सकते हैं (जैसे) यह ऊपर ऊपर अगर यह सौ प्रविष्टियों की एक जोड़ी से नीचे गिर जाता? क्या ऐसा करने के लिए कोई नकारात्मक पक्ष है?
मुझे उस स्थिति को संभालने की भी आवश्यकता है जहां स्कैन को रोका जाना चाहिए। यह उन कार्यों को रद्द/रीसेट करके टीपीएल को काम न देकर करना आसान लगता है जो पहले ही आंशिक रूप से संसाधित हो सकते हैं।
सभी शुरुआती कार्यों को किसी भी क्रम में चलाया जा सकता है। माता-पिता ने निष्पादन शुरू करने के बाद बच्चों को चलाया जाना चाहिए, लेकिन जब माता-पिता उन्हें जन्म देते हैं, तो यह कभी भी कोई समस्या नहीं होनी चाहिए। बच्चों को किसी भी क्रम में चलाया जा सकता है। इस वजह से, मैं वर्तमान में कल्पना कर रहा हूं कि बाल कार्य सीधे डीपीएल में लिखे गए हैं जो सीधे टीपीएल में नहीं आते हैं। यदि आवश्यक हो तो यह अन्य सर्वरों को "चोरी करने" की अनुमति देगा।
क्या किसी को इस तरह से टीपीएल का उपयोग करने का कोई अनुभव है? क्या कोई विचार है जिसके बारे में मुझे अवगत होना चाहिए?
हजारों कार्य 'का निर्धारण करना, जहां प्रत्येक में कई मिनट लग सकते हैं, शायद एक अच्छा विचार नहीं है। ऐसे मामले में, टीपीएल नए 'कार्य का ओवर और ओवर शेड्यूल करेगा, जो शायद आपके मामले में एक अच्छा विचार नहीं है। – svick
यह मुझे स्पष्ट नहीं है कि दिया गया स्कैन (लगभग 5 मिनट तक चलने वाला कार्य) अपने अधिकांश समय को आई/ओ में नेटवर्क से वापस आने के लिए इंतजार कर रहा है या अधिकांश समय सीपीयू का विश्लेषण करने में इंतजार कर रहा है। कुछ अन्य ढांचे जो आप देख सकते हैं, यह बेहतर हो सकता है कि यह टीपीएल डेटाफ्लो और प्रतिक्रियाशील एक्सटेंशन 2.0 होगा। यदि आप कुछ कोड दे सकते हैं जो दिखाता है कि दिया गया स्कैन कैसा दिखता है (कम से कम कुछ छद्म कोड के संदर्भ में यह पता लगाने के लिए कि किस प्रकार का आईओ/सीपीयू संतुलन है), जो दूसरों को बेहतर दिशा देने में भी मदद कर सकता है। –
@ जेम्स मैनिंग माफी, मुझे यह स्पष्ट करना चाहिए था ...> 5 मिनट का 99% नेटवर्क IO – Basic