2010-09-14 7 views
6

मैं सन ग्रिड इंजन के साथ बहुत सी नौकरियां चला रहा हूं। चूंकि ये एक नौकरियां हैं (~ 100000), मैं सरणी नौकरियों का उपयोग करना चाहता हूं, जो कतार पर आसान लगते हैं।सूर्य ग्रिड इंजन सरणी नौकरियों के लिए विभिन्न निर्देशिकाओं को आउटपुट रीडायरेक्ट करें

एक और समस्या यह है कि प्रत्येक नौकरियां एक स्टडआउट और stderr फ़ाइल उत्पन्न करती हैं, जिसे मुझे त्रुटि ट्रैक करने की आवश्यकता होती है। यदि मैं उन्हें qsub -t 1-100000 -o outputdir -e errordir में परिभाषित करता हूं तो मैं उनमें 100000 फ़ाइलों के साथ निर्देशिकाएं समाप्त कर दूंगा, जो बहुत अधिक है।

क्या प्रत्येक नौकरी आउटपुट फ़ाइल को निर्देशिका में लिखने का कोई तरीका है (कहें, एक निर्देशिका जिसमें जॉब आईडी के पहले 2 अक्षर होते हैं, जो यादृच्छिक हेक्स अक्षरों या नौकरी संख्या मॉडुलू 1000 है, या उस तरह का कुछ)।

धन्यवाद

उत्तर

2

मैं qsub के साथ ऐसा करना एक अच्छा तरीका नहीं सोच सकते हैं के रूप में वहाँ -ओ और -e विकल्पों में कोई कार्यक्रम संबंधी इंटरफेस है। हालांकि, आप जो चाहते हैं उसे पूरा करने का एक तरीका है।

अपने qsub को -o और -e को इंगित करते हुए/dev/null पर चलाएं। आपके द्वारा चलाए जाने वाले आदेश को कुछ प्रकार का रैपर बनें जो वास्तविक नौकरी निष्पादित करने से पहले जो भी फैशन आप चाहते हैं (यानी, आपकी टूटी हुई निर्देशिका संरचना) में फ़ाइलों के लिए अपने स्वयं के stdout और stderr को रीडायरेक्ट करता है।

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