الحصول على رمز الخروج من عملية تم تقديمها مع QSUB على محرك شبكة الشمس

StackOverflow https://stackoverflow.com/questions/3091156

سؤال

أود تقديم الوظائف عبر QSUB على محرك Sun Grid (الآن: Oracle Grid Engine؟). لا أرغب في استخدام خيار -Sync Yes أو QRSH ، لأنني أريد أن يكون برنامج التحكم الخاص بي متمرسًا وقادرًا على إطلاق العديد من الوظائف في وقت واحد. من شأن هذه الخيارات حظر موضوع برنامج التحكم الخاص بي.

ومع ذلك ، أود أن أتلقى حالات الخروج من العمليات التي أطلقها. من صفحات الرجل ، يبدو أنه لا توجد طريقة للحصول على هذا الرمز دون منع موضوعي. أقل من تعديل الوظائف التي أطلقها لطباعة رموز الخروج الخاصة بهم إلى stdout ، هل هناك أي طريقة للحصول على هذه الحالة؟

هل كانت مفيدة؟

المحلول

الجواب هو "QACCT -J". تتم طباعة ملخص لتاريخ الوظيفة إلى stdout ، والتي يمكن بعد ذلك تحليلها لحالة الخروج ، وأوقات البدء والنهاية ، ومجموعة متنوعة من المعلومات الأخرى.

يجب تكوين SGE بشكل صحيح حتى يعمل هذا الأمر.

نصائح أخرى

إذا كنت تقوم بتقديم وظائفك ضمن طلبك ، فإن أبسط وأسرع (أسرع ثم إرسال مع QSUB) (والحصول على حالة الخروج لاحقًا) تستخدم API DRMAA. تتوفر واجهة برمجة التطبيقات البسيطة هذه في C وفي Java in Sun Grid Engine لفترة طويلة جدًا. محرك Univa Grid (الخليفة التجارية لمحرك الشبكة) وشوكات شبكات Sun Grid Engine أيضًا شحن المكتبة اللازمة. نظرًا لأنه معيار مفتوح يمكنك إرساله حتى إلى DRMs تمامًا مثل Condor/Slurm وما إلى ذلك دون تغيير البرنامج. تتوفر روابط اللغة لـ GO أو Python أو TCL (وغيرها).

نرى:http://www.gridengine.eu/mangridengine/htmlman3/drmaa_wait.html

بعض المعلومات الإضافية ولغة DRMAA GO (#GOLANG) ملزمة بأمثلة يمكنك العثور عليها هنا:http://www.gridengine.eu/programming-apis

هتافات

دانيال

www.gridengine.eu

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top