^$JOB (ObjectScript)
構文
^$JOB(job_number)
^$J(job_number)
引数
引数 | 説明 |
---|---|
job_number | ObjectScript コマンドを入力するときに作成される、システム特有のジョブ番号。アクティブな InterSystems IRIS プロセスは一意のジョブ番号を持ちます。システムにログインすると、ジョブは初期化されます。UNIX® システムでは、ジョブ番号は InterSystems IRIS が呼び出されたときに開始した子プロセスの PID です。job_number は整数で指定する必要があります。16 進数値はサポートされていません。 |
概要
ローカル InterSystems IRIS システムで InterSystems IRIS ジョブの存在に関する情報を取得するために、$DATA、$ORDER、および $QUERY 関数に対する引数として ^$JOB 構造化システム変数を使用することができます。
例
以下の例は、$DATA、$ORDER、および $QUERY 関数に対する引数として ^$JOB を使用する方法を示しています。
$DATA に対する引数としての ^$JOB
$DATA(^$JOB(job_number))
$DATA に対する引数としての ^$JOB は、指定したジョブが ^$JOB にノードとして存在するかどうかを示す整数値を返します。次のテーブルは、$DATA が返すことができる整数値を示しています。
値 | 意味 |
---|---|
0 | ジョブは存在しない |
1 | ジョブが存在する |
以下の例は InterSystems IRIS プロセスの存在を調べています。
SET x=$JOB
WRITE !,$DATA(^$JOB(x))
変数 x は、現在のプロセスのジョブ番号に設定されます (例えば 4294219937)。WRITE はブーリアン 1 を返し、このプロセスが存在することを示します。
$ORDER に対する引数としての ^$JOB
$ORDER(^$JOB(job_number),direction)
$ORDER に対する引数としての ^$JOB は、指定したジョブ番号に対する照合順序で、次または前の ^$JOB ジョブ番号を返します。そのようなジョブ番号が ^$JOB ノードとして存在しない場合は、$ORDER は NULL 文字列を返します。
direction 引数は、次のジョブ番号を返すか、前のジョブ番号を返すかを指定します。direction 引数を指定しない場合、InterSystems IRIS は、指定したジョブ番号に対する照合順序で、次のジョブ番号を返します。詳細は、"$ORDER" 関数を参照してください。
以下のサブルーチンは InterSystems IRIS のジョブ・テーブルを検索し、JOB というローカル配列にあるジョブ番号を格納します。
JOB
SET pid=""
FOR i=1:1 {
SET pid=$ORDER(^$JOB(pid))
QUIT:pid=""
SET JOB(i)=pid
}
WRITE "Total Jobs in Job Table: ",i
QUIT
$QUERY に対する引数としての ^$JOB
$QUERY(^$JOB(job_number))
$QUERY に対する引数としての ^$JOB は、指定したジョブ番号に対する照合順序で、次の ^$JOB ジョブ番号を返します。そのようなジョブ番号が ^$JOB にノードとして存在しない場合は、$QUERY は NULL 文字列を返します。
以下の例は、InterSystems IRIS ジョブ・テーブルで最初 2 つのジョブを返します。間接指定演算子 (@) を使用します。
SET x=$QUERY(^$JOB(""))
WRITE !,x
WRITE !,$QUERY(@x)
これは、以下のようなジョブの値を返します。
^$JOB("4294117993")
^$JOB("4294434881")