एक निर्धारित कार्य लटका होने का कारण कैसे पता करें?


1

मैंने अपने विंडोज 7 में बहुत से कार्य निर्धारित किए हैं, जो मेरी मशीनों पर विभिन्न प्रकार के क्रॉन जॉब्स करते हैं।

मुझे पूरा यकीन है कि ये कार्य, जब अपने दम पर चलते हैं, तो लटकेंगे नहीं। लेकिन समस्या यह है कि, जब मैं उन्हें रोजाना चलाता हूं, तो कई दिनों और हफ्तों और महीनों में, कभी-कभार उनमें से कुछ मर्जी लटका।

तो मैं फाँसी के काम को मारने के लिए मजबूर हो गया और फिर से दौड़ पड़ा --- और अब यह सफलतापूर्वक चल सकता है!

मैं एक बार और सभी के लिए इस समस्या को ठीक करना चाहता हूं, और इसके लिए, मुझे यह जानना होगा कि एक निर्धारित कार्य लटका क्यों होगा, यहां तक ​​कि जब मैं इसे अलग से चलाता हूं, तो यह नहीं होगा।

वैसे भी मेरे लिए इसका कारण जानने के लिए?


2
इवेंट व्यूअर कुछ प्रकाश डाल सकता है
Dave

@ क्या आप अपनी टिप्पणी को उत्तर में बदलना चाहेंगे? यह काफी उपयोगी है
Graviton

क्या काम कर रहे हैं (विवरण की जरूरत नहीं है, बस एक सिंहावलोकन)। क्या आप प्रत्येक नौकरी के बीच संसाधनों को साझा कर रहे हैं उदाहरण के लिए या बदलते राज्य?
Dave

@Dave, nope, संसाधनों का कोई साझाकरण नहीं। साथ ही, सभी कार्य क्रम से चलते हैं, उनमें से कोई भी ओवरलैप नहीं होता है
Graviton

मुझे आश्चर्य है कि अगर यह एक संसाधन मुद्दा है, तो स्मृति से बाहर या समान (एक ही असंबद्ध कार्य एक ही समय में निष्पादित होने के कारण हो सकता है)
Dave

जवाबों:


1

जब आप अपने कार्यों की जांच करते हैं, तो यह आपको सबसे दाईं ओर अंतिम रन स्थिति दिखाएगा। यह आमतौर पर आपको दिखाता है कि कार्य विफल क्यों है। यह संभव है कि कार्य को निष्पादन के दौरान लटका दिया गया था, भले ही इसे सामान्य रूप से संसाधित किया गया था, इसलिए यह कार्य चालू रहता है और इस प्रकार तकनीकी रूप से विफल नहीं होता है।

नतीजतन, अगली बार जब कार्य चलाने के लिए माना जाता है, तो यह नहीं चलता है क्योंकि पिछला कार्य अभी भी चल रहा था। तो त्रुटि बन जाती है: पिछला कार्य अभी भी चलता है।

मैं आमतौर पर यह निर्धारित करके यह प्रतिपादित करता हूं कि अगले कार्य को चलाने के लिए अधिकतम निष्पादन समय कम है। अगर मुझे पता है कि कार्य केवल कुछ ही मिनटों को चलाने के लिए किया जाता है, तो मैं आमतौर पर 5 मिनट के लिए बल छोड़ देता हूं और कुछ बार कार्यों को पुनरारंभ करने में सक्षम करता हूं। यह सुनिश्चित करेगा कि यदि जो भी कारण के लिए कार्य सही नहीं चलता है, तो वह गर्भपात करेगा और इसे फिर से करेगा। यदि कार्यपालक को यह ठीक लगता है कि कार्य सही तरीके से चलाया गया था, तो वह कार्य को दूसरी बार नहीं करेगा।


2

मैं EventViewer के साथ शुरू करने का सुझाव दूंगा जैसे कि यह एक दुर्घटना है, इसे लॉग किया जाना चाहिए।

आप अपने प्रोग्राम में कुछ लॉगिंग कार्यक्षमता भी जोड़ सकते हैं, यह देखने के लिए कि कौन सा मॉड्यूल / कार्य विफल हो रहा है।

एहसास हुआ कि LPChip ने ऐसा ही लिखा: साथ ही, टास्क स्क्यूडलर में कुल कार्य के रूप में, आप इसे छोड़ने के लिए बाध्य कर सकते हैं यदि इसे पूरा करने में 72 घंटे से अधिक समय लगता है (मुझे लगता है कि यह डिफ़ॉल्ट है)। यदि आप जानते हैं कि कार्य को पूरा करने में केवल कुछ मिनट लगने चाहिए, तो उस मूल्य को 30 मिनट में बदल दें (अपने आप को बहुत सारे हेड रूम दें)। यह आपको इसे हल करने में मदद नहीं करेगा, लेकिन अगर यह कुछ ऐसा है जिसे आपको जारी रखना है, तो आगे बहस करते समय यह पर्याप्त हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.