8

Sun Grid Engine(現在はOracle Grid Engine?)でqsubを介してジョブを送信したいと思います。-sync yesオプションまたはqrshを使用したくないのは、制御プログラムをシングルスレッドにして、一度に多くのジョブを起動できるようにするためです。これらのオプションは、制御プログラムのスレッドをブロックします。

ただし、起動したプロセスの終了ステータスを受け取りたいのですが。マニュアルページから、私のスレッドをブロックせずにこのコードを取得する方法はないようです。起動しているジョブを変更して終了コードをstdoutに出力する以外に、このステータスを取得する方法はありますか?

4

2 に答える 2

11

答えは「qacct-j」です。ジョブの履歴の要約がstdoutに出力され、終了ステータス、開始時刻と終了時刻、およびその他のさまざまな情報について解析できます。

ただし、このコマンドを機能させるには、SGEを正しく設定する必要があります。

于 2010-06-22T23:12:24.763 に答える
2

アプリケーション内でジョブを送信する場合、最も簡単で最速の(qsubを使用して送信するよりも高速)方法(および後で終了ステータスを取得する)は、DRMAAAPIを使用することです。このシンプルなAPIは、SunGridEngineのCおよびJavaで非常に長い間利用できます。Univa Grid Engine(Grid Engineの商用後継)とSunGridEngineフォークも必要なライブラリを出荷しています。オープンスタンダードなので、プログラムを変更することなく、Condor/SLURMなどの他のDRMSにも完全に送信できます。GO、Python、またはTCL(およびその他)の言語バインディングが利用可能です。

参照: http ://www.gridengine.eu/mangridengine/htmlman3/drmaa_wait.html

いくつかの詳細情報とGo(#golang)DRMAA言語バインディングの例は、 http ://www.gridengine.eu/programming-apisにあります。

乾杯

ダニエル

www.gridengine.eu

于 2012-12-28T12:30:21.413 に答える