19

हम अपने क्रॉन नौकरियों ---- सीएफ, जावा, एसक्यूएलसेवर इत्यादि के लिए एक डैशबोर्ड बनाने की कोशिश कर रहे हैं ताकि हम देख सकें कि चीजें कब चल रही थीं, परिणाम क्या था, और जब वे दौड़ने के लिए निर्धारित होते हैं आगामी।निर्धारित किए गए कार्यों की सूची कैसे प्राप्त करें और अंतिम रन परिणाम कोल्डफ्यूज़न में कैसे प्राप्त करें?

  1. क्या कार्य निर्धारित हैं:

    वहाँ की एक सूची प्राप्त करने के लिए CFAdmin एपीआई या कुछ गैर-दस्तावेजी <cfschedule> चाल के साथ एक तरीका है?

  2. आखिरी रन टाइम क्या था?
  3. क्या यह सफल रहा?
  4. इसे फिर से चलाने के लिए कब निर्धारित किया जाता है?

हम वर्तमान में CF8 पर हैं, लेकिन कुछ हफ्तों के भीतर CF9 में अपग्रेड हो जाएंगे।

+2

ग्रेट सवाल की जरूरत है। मुझे लगता है कि एक ही प्राप्त करने के लिए प्यार होता है जानकारी – Jason

+0

कोई भी मौका आपके डैशबोर्ड riaforge पर खत्म हो जाएगा ?? यह बहुत अच्छा लगता है – Antony

उत्तर

28

मैंने आपके लिए थोड़ा सा शोध किया था। मुझे कुछ हद तक पुराना संदर्भ मिला जो कम से कम सीएफ 8 में और सीएफ 9 में भी मान्य है।

<cfobject type="JAVA" action="Create" name="factory" class="coldfusion.server.ServiceFactory"> 
<cfset allTasks = factory.CronService.listAll()/> 
<cfloop index="i" from="1" to="#ArrayLen(allTasks)#"> 
    <cfdump var="#allTasks[i]#" /> 
</cfloop> 

से http://www.bpurcell.org/blog/index.cfm?mode=entry&ENTRY=935

यह आपके प्रश्नों # 1 और 4 # जवाब देता है। # 3 के लिए, इसका कोई जवाब नहीं हो सकता है। कोल्डफ्यूजन का निर्धारित कार्य इंजन बस निर्धारित समय पर निर्दिष्ट यूआरएल लोड कर रहा है। कोई सफलता या असफलता नहीं है - यह बस एक HTTP अनुरोध करता है।

उम्मीद है कि इससे मदद मिलती है।

+0

अच्छा, +1। मैं ' ', हालांकि, मुझे यह आसान लगता है पढ़ें – Tomalak

+0

बहुत बढ़िया।वास्तव में जो मैं पूरा करने की कोशिश कर रहा था। मुझे लगता है कि मैं डीबी में एक टेबल तैयार करूंगा जो इन नौकरियों के लिए चल रहे/विफलता वाले राज्यों को पकड़ सके। इसे शुरू होने पर 'चलने' के रूप में सेट करें, और जब इसे पूरा करने के लिए इसे सेट करें, इसे 'सफलता' के रूप में सेट करें –

+2

रेलो 3+ और CF10 + ** ** ** ** ऑफर प्रदान करें: '' ' '' ' – modius

1

नौकरी के परिणामों को "प्रकाशित" करना संभव है। HTTP अनुरोध से प्रतिक्रिया फ़ाइल सर्वर पर लिखी जा सकती है, और उसके पास अंतिम रन जॉब के मान होंगे।

<cfschedule action = "update" 
    task = "TaskName" 
    operation = "HTTPRequest" 
    url = "/index.cfm?action=task" 
    startDate = "#STARTDATE#" 
    startTime = "12:00:00 AM" 
    interval = "Daily" 
    resolveURL = "NO" 
    requestTimeOut = "600" 
    publish = "yes" 
    path = "#PATH#" 
    file = "log_file.log"> 

फिर यदि आप चाहें तो डेटाबेस के खिलाफ लॉग सत्यापित कर सकते हैं। चूंकि यह पृष्ठ से प्रतिक्रिया है, इसलिए आप यहां त्रुटियों और चेतावनियों को भी प्राप्त और संग्रहीत कर सकते हैं।

0

@eric kolb सही है - यह प्रोग्रामेटिक रूप से करने का तरीका है। आप कैसे प्रतिक्रिया करता है सूची पर अधिक नियंत्रण चाहते हैं, तो निम्न कोड की कोशिश (मूलतः एक ही है, लेकिन cfscript में):

<cfscript> 
scheduledTasksArray=ArrayNew(1); 
taskService=createobject('java','coldfusion.server.ServiceFactory').getCronService(); 
scheduledTasksArray=taskservice.listall(); 

इसके अलावा, # 2 और # 3 (जो काफी है जवाब देने के लिए यदि आप इसे सही करते हैं तो केवल एक दो भाग का सवाल): जब कार्य चल रहा है, तो शीर्ष पर दाईं ओर एक ईमेल भेजें "हे! मैं दौड़ रहा हूं !!!!" और फिर एक और कहा "अरे! मैं हो गया !!!" कार्य के लिए कोड के निचले हिस्से में - आप एक टाइमस्टैंप में भी जोड़ सकते हैं और यह बताने के लिए कि यह कब शुरू हुआ और बंद कर दिया गया था (डेटाबेस डेटाबेस में लॉग इन करना भी)। साथ ही, यह जानने के लिए कि यह आगे कब चलाएगा, बस अंतिम बार देखें और "अंतराल" फ़ील्ड सर्विस फैक्ट्री कॉल के परिणामों से वापस प्राप्त करें। (आप मैं क्या यह मतलब पर अधिक विवरण की जरूरत है, पूछने के लिए स्वतंत्र महसूस हो रहा है।

आशा इस मदद करता है अगर आप पता लगा नहीं किया है जो आपके लिए पहले से ही

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