2009-06-03 8 views
5

मैं उपयोगकर्ताओं को एक वेब एप्लिकेशन (लिनक्स/अपाचे/सीजीआई :: एप्लिकेशन) से एक बार लंबे समय तक चलने वाले कार्यों को शेड्यूल करने की अनुमति देने के लिए एक एप्लिकेशन लिख रहा हूं। ऐसा करने के लिए मैं Schedule::At मॉड्यूल का उपयोग करता हूं जो कि "at" कमांड के लिए पर्ल इंटरफ़ेस है। चूंकि निर्धारित कार्य दोहराए नहीं जा रहे हैं, इसलिए मैं "क्रॉन" पर विचार नहीं कर रहा हूं। मेरे पास "एट" के साथ दो मुद्दे हैं:मैं एक पर्ल सीजीआई आवेदन से एक बार के कार्यों को कैसे निर्धारित करूं?

  1. शेड्यूलिंग ठीक काम करता है जब मेरा सीजीआई एप्लिकेशन सुएक्सैक रैपर के नीचे चलता है, लेकिन अपाचे प्रक्रिया के मालिक द्वारा निर्धारित नहीं किया जाता है। मैं दोनों वातावरण (suexec और no-suexec) में काम करने के लिए शेड्यूलिंग कैसे प्राप्त कर सकता हूं?
  2. ऐसा प्रतीत होता है कि "एट" या अनुसूची :: द्वारा निर्धारित प्रक्रियाओं में कोई विफलता रिपोर्टिंग नहीं है, और मुझे कभी-कभी पता चलता है कि निर्धारित कार्य चुपचाप विफल हो जाते हैं। क्या इस तथ्य को लॉग करने का कोई तरीका है कि निर्धारित कार्य (शेड्यूलर स्वयं नहीं) चलाने में विफल रहा है?

मुझे "एट" पर तय नहीं किया गया है और यदि कोई है तो अन्य, अधिक मजबूत, शेड्यूलिंग विधियों का उपयोग करने के लिए खुला हूं।

आपके ध्यान के लिए धन्यवाद।

उत्तर

5

मैंने The Schwartz के बारे में अच्छी बातें सुनी हैं। हालांकि इसमें देरी नहीं होती है; आप के माध्यम से नौकरियां जमा करेंगे, लेकिन जब तक आपकी submit_job स्क्रिप्ट सरल नहीं थी, तब तक आपको ऊपर दी गई दोनों समस्याओं को हल करना चाहिए।

(एक चेतावनी के रूप में, मैं सिर्फ Gearman का उपयोग किया है, मुझे लगता है कि आप इस के लिए एक विश्वसनीय काम कतार, एक तंत्र चाहते हैं "आग और भूल जाओ" चाहते हैं, तो आप अपने submit_job गूंगा रख सकते हैं।)

+0

धन्यवाद गियरमैन टिप के लिए। पहली बार दिखता है, ऐसा लगता है कि मुझे वही चाहिए। –

+0

गियरमैन और श्वार्टज़ में कड़ी मेहनत करने के बाद, मैंने बीनस्टॉक को मेरी समस्या का सबसे उचित समाधान माना। पारितोषिक के लिए धन्यवाद। –

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