-
23-09-2019 - |
سؤال
بعض الأسئلة القصيرة والغبية حول برنامج تلفزيوني:
1- أقدم وظائف باستخدام
qsub job_file
هل من الممكن تقديم وظيفة (فرعية) داخل ملف الوظيفة؟
2- لدي البرنامج النصي التالي:
qsub job_a
qsub job_b
لإطلاق Job_B ، سيكون من الرائع الحصول على نتائج Job_A. هل من الممكن وضع نوع من الحاجز أو بعض الحلول otehr حتى لا يتم إطلاق Job_B حتى انتهاء Job_A؟
شكرًا
المحلول
أجب على السؤال الأول:
عادةً ما يُسمح لك فقط بإرسال وظائف من المضيف حيث يعمل خادم PBS ، ولكنه يعتمد على كيفية إعداد نظام PBS الخاص بك.
أجب على السؤال الثاني:
يمكنك استخدام التبعيات. اقرأ عن خيار -W في وثائق QSUB. إليك مثال على نص Bash:
dependency_id=$(qsub job_a)
qsub -W depend=afterok:$dependency_id job_b
سيبدأ Job_B بعد انتهاء Job_A بنجاح.
نصائح أخرى
نعم ، من الممكن تقديم وظيفة من وظيفة أخرى ، على الرغم من أن لديها بعض التحذيرات.
-يجب أن يكون لدى الأمهات أوامر عميل (QSUB) في المسار
-ستحاول $ USECP نسخ الملفات من العقدة التي يتم تشغيل المهمة الأولى.
-بقيت حذرًا من تقديم الوظائف من وظائف أخرى لأنه يمكنك بسهولة تعطل PBS_Server إذا استدعاء البرنامج النصي الخاص بك الكثير من QSUBs.
يمكنك الحصول على وظائف B - Z تعتمد على الوظيفة "A" مع بناء الجملة التالي
Qsub foo.sh -w تعتمد = ayfok: Joba
قد تكون صفائف الوظائف أيضًا حلاً جيدًا.
http://docs.adaptivecomputing.com/torque/help.htm#topics/2-jobs/multijobsubmission.htm