2009-08-26 13 views
21

मैं विंडोज 7 के साथ काम कर रहा हूं और मेरे पास एक ऐसा एप्लिकेशन है जो शून्य (0x0) लौटाता है और त्रुटि स्थिति में एक (0x1)।Win7 में विंडोज टास्क शेड्यूलर एक असफल कार्य को कैसे पहचानता है?

मैंने विंडोज कार्य शेड्यूलर का उपयोग करके इस ऐप को निर्धारित किया है। मैंने विकल्प बॉक्स चेक किया है "यदि कार्य विफल रहता है, तो प्रत्येक को पुनरारंभ करें" और "पुन: प्रारंभ करने का प्रयास करें:"।

मैंने सोचा कि ऐप से एक गैर-शून्य रिटर्न कोड दिए गए अंतराल के बाद कार्य को पुनरारंभ करने के लिए पर्याप्त होगा। लेकिन कुछ भी नहीं होता है।

कोई विचार क्या मुद्दा हो सकता है? मैंने इसे Google पर करने की कोशिश की लेकिन कुछ भी प्रासंगिक नहीं मिला।

उत्तर

6

मुझे विंडोज 2008 सर्वर विंडोज टास्क शेड्यूलर पर एक ही समस्या का अनुभव हुआ है। कार्रवाई एक गैर शून्य कोड वापस लेकिन अनुसूचक पर विचार कार्य पूरा:

Task Scheduler successfully completed task "\SET Tasks\Scheduled task [Backup SET Server]" , instance "{...}" , action "C:\Windows\SYSTEM32\cmd.exe" with return code 1. 

मैं वेब केवल एक ही जवाब पर मिल गया है:

Windows कार्य शेड्यूलर नहीं है निकास कोड या किसी अन्य मानों को जांचें जब आपका कार्य पूरा हो जाए। आप को अपनी खुद की स्क्रिप्ट या प्रोग्राम के भीतर किसी भी त्रुटि प्रसंस्करण को संभालना होगा।

... इस दस्तावेज़ में: www.onlinetoolworks.com/docs/winTaskSched.doc

तो मैं अब लगता है कि इस समस्या को वैकल्पिक हल के लिए एक ही रास्ता कार्य घटना पर ट्रिगर का उपयोग करने के हो सकता है। मैं जांच कर रहा हूँ

सम्मान,

ओलिवियर।

+0

मैंने इसे ईवेंट पर ट्रिगर करने के साथ काम करने का प्रबंधन नहीं किया। – Olivier

+0

मैंने एमएस फीडबैक हब को एक सुझाव प्रस्तुत किया है [विंडोज टास्क शेड्यूलर निकास कोड की जांच नहीं करता है] (http://aka.ms/a5p0w2)। आप इसके लिए वोट दे सकते हैं (केवल लिंक 10 पर लिंक काम करता है) –

3

आप कर सकते हैं,

  1. (यदि पहले से ही नहीं)
  2. एक इतिहास पर
  3. अनुसूची के लिए इतिहास को सक्रिय "एक्शन पूरा" राइट क्लिक "इस घटना के लिए टास्क संलग्न ..."
  4. इस तरह कस्टम फ़िल्टर सेट करें:

    * [सिस्टम [(EventID = 201)]] और * [EventData [डेटा [@ नाम = 'ResultCode'] = '1']]

का आनंद लें

Tilo

2008 R2 (ईमेल सर्वर के रूप में एक्सचेंज) जीत पर इस्तेमाल किया

+1

हाय टिलो, मैं एक ही समस्या से जूझ रहा हूं और मैंने आपकी कस्टम फ़िल्टर तकनीक की कोशिश की लेकिन घटना फायरिंग रखती है। मुझे इसे केवल हर बार और केवल दो बार आग लगाना चाहिए। क्या आप सुझाए गए समाधान – Johannes

10

एक नया कार्य बनाएं और इस तरह कस्टम घटना क्वेरी सेट:

<QueryList> 
    <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational"> 
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[EventID=201]] and *[EventData[Data[@Name='ResultCode']!='0']] and *[EventData[Data[@Name='TaskName']='\YOUR TASK NAME HERE']]</Select> 
    </Query> 
</QueryList> 

सेट ट्रिगर उन्नत सेटिंग 15 मिनट की तरह समय की अवधि के लिए काम में देरी करने के। नए कार्य की कार्रवाई एक कार्यक्रम शुरू करने

कॉन्फ़िगर:

कार्यक्रम/स्क्रिप्ट:

schtasks 

जोड़े तर्क:

/Run /TN "\YOUR TASK NAME HERE" 

यह मूल निर्धारित करेगा घटना में गैर-शून्य परिणाम कोड लॉग होने के 15 मिनट बाद फिर से चलाने का कार्य।

+1

पर थोड़ा विस्तार कर सकते हैं और विंडोज 10 पर काम करता है। यह ध्यान दिया जाना चाहिए कि यह समाधान एक अतिरिक्त अनुसूचित कार्य है जो विफल निष्पादन (गैर शून्य रिटर्न) की निगरानी के लिए कॉन्फ़िगर किया गया है ताकि किसी भी स्क्रिप्ट को मूल कार्य में चलाया जा सके उचित वापसी कोड भेजना चाहिए। महत्वपूर्ण रूप से याद रखना कि आपको कम से कम एक मिनट की देरी निर्धारित करनी चाहिए और आपको मूल स्क्रिप्ट को हमेशा के लिए फिर से चलाने से रोकने के लिए एक असफलता लागू करनी चाहिए। अभी भी एक महान जवाब, kudos। – Lewis

+1

रुको, क्या यह गैर-शून्य निकास कोड पर फिर से कार्य को बंद करने के लिए एक कस्टम ट्रिगर स्थापित कर रहा है? – jpmc26

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