Frage

Ich möchte Jobs auf Sun Grid Engine über qsub einreichen (jetzt: Oracle Grid Engine). Ich möchte nicht die -sync ja Option oder qrsh benutzen, weil ich mein Steuerprogramm will single-threaded und in der Lage sein, viele Arbeitsplätze zu einem Zeitpunkt zu starten. Diese Optionen würden mein Steuerprogramm des Threads blockieren.

Allerdings würde Ich mag den Exit-Status der Prozesse erhalten, dass ich starten. Von den man-Seiten, so scheint es kein Weg, um diesen Code zu bekommen, ohne meinen Thread blockiert. Kurz der Modifizierung der Jobs, die ich starten ihre Exit-Codes auf die Standardausgabe zu drucken, ist es eine Möglichkeit, diesen Status zu bekommen?

War es hilfreich?

Lösung

Die Antwort ist 'qacct -j'. Eine Zusammenfassung der Geschichte des Auftrags zu stdout gedruckt wird, die dann für den Exit-Status analysiert werden, die Start- und Endzeiten, und eine Vielzahl von anderen Informationen.

SGE muß richtig für diesen Befehl an der Arbeit so konfiguriert werden, jedoch.

Andere Tipps

Wenn Sie Ihre Aufträge in Ihrer Anwendung einreichen, ist die einfachste und schnellste (schnelle Vorlage dann mit qsub) Art und Weise (und immer den Exit-Status später) wird die DRMAA API. Diese einfache API ist in C und in Java in Sun Grid Engine für eine sehr lange Zeit zur Verfügung. Univa Grid Engine (kommerzielle Nachfolger von Grid Engine) und Sun Grid Engine Gabeln Versand auch die notwendige Bibliothek. Da es sich um einen offenen Standard ist, können Sie auch völlig andere DRMS ??wie Condor / SLURM usw. einreichen, ohne das Programm zu verändern. Sprachbindungen für GO, Python oder TCL (und andere) zur Verfügung.

Siehe auch: http://www.gridengine.eu/mangridengine/htmlman3/drmaa_wait.html

Einige weitere Informationen und die Go (#golang) DRMAA Sprachbindung mit Beispielen können Sie finden Sie hier: http://www.gridengine.eu/programming-apis

Prost

Daniel

www.gridengine.eu

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top