Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 - |
目次 索引 |
第17章 API情報 | > 17.3 ジョブ実行制御API |
キュー一覧情報獲得API/EE(Mp_ListQueue_Ex)について説明します。
Systemwalker Operation Manager EEで、キュー情報の一覧を獲得します。
#include "f3cuapi.h" |
NULLを指定してください。
以下に示す処理モードを指定します。GETQSTを行った後、必ずFREEQSTを行ってください。
操作対象のサブシステムを、0から9の範囲の番号で指定します。
復帰値 |
意 味 |
1以上 |
正常にキュー情報の一覧が獲得されたことを示し、そのキューの数が返却されます。 |
-1 |
システムエラーが発生しました。 |
-1000以下 |
ジョブ実行制御において、エラーが検出されたため、処理を中断しました。 なお、エラーメッセージ獲得APIを使用して、エラーメッセージを獲得することができます。 |
引数が無効アドレスを指している場合、当関数は異常終了し、その動作は定義されません。
キュー情報構造体の形式を以下に示します。
当構造体は、INCLUDEファイル“f3cuapi.h”内に定義されます。
typedef struct _Mp_QUEUEINF_1 { char queuename[]; /*キュー名 */ long queuetype; /*キュー種別 */ char status; /*キュー状態 */ long maxjob; /*最大投入可能ジョブ数 */ long maxexec; /*最大実行可能ジョブ数 */ long elapsed; /*経過時間制限値(秒) */ long dfltprty; /*デフォルト優先順位 */ long dfltdprty; /*デフォルト優先度 */ long job_wait; /*実行待ちジョブ数 */ long job_hold; /*保留中ジョブ数 */ long job_run; /*実行中ジョブ数 */ char hostgrp[]; /*分散ホストグループ名 */ } Mp_QUEUEINF_1
以下に項目ごとの説明を記述します。
キュー名が設定されます。
キューの種別が設定されます。設定されるキューの種別を以下に示します。
値 |
種 別 |
1 |
ローカルキュー |
2 |
分散実行キュー |
キューの状態が設定されます。設定されるキューの状態を以下に示します。
値 |
状 態 |
1 |
稼働中 |
2 |
停止中 |
最大投入可能ジョブ数が設定されます。
最大実行可能ジョブ数が設定されます。
経過時間制限値が秒単位で設定されます。
デフォルト優先順位が設定されます。
デフォルト優先度が設定されます。
APIを呼び出した時点での実行待ちジョブ数が設定されます。
APIを呼び出した時点での保留中ジョブ数が設定されます。
APIを呼び出した時点での実行中ジョブ数が設定されます。
分散ホストグループ名が設定されます。ローカルキューの場合は、NULLが設定されます。
キュー一覧情報獲得API/EEのプログラム例を以下に示します。
#include <windows.h> #include <stdio.h> #include "f3cuapi.h" int main (int argc, char **argv) { Mp_QUEUEINF_1 *queinf = 0; Mp_QUEUEINF_1 *qinf = 0; int system_num; long mode; long idx; long rtn = 0; char errmsg[256+1]; /* * initialization working area */ memset(errmsg, 0x00, sizeof(errmsg)); mode = GETQST; /* * call Mp_ListQueue_Ex() API */ system_num = 0; rtn = Mp_ListQueue_Ex (NULL, mode, &queinf, system_num); /* * check return code of Mp_ListQueue_Ex() API */ if (rtn == -1){ printf ("GetLastError() is %d.\n", GetLastError()); return (1); } else if (rtn <= -1000) { printf ("Error code is %d.\n", rtn); Mp_GetMJESerror (errmsg); printf ("errmsg = %s\n", errmsg); return (1); } qinf = queinf; printf("queue name wait hold run status\n"); for (idx = 0; idx < rtn; idx++) { printf("%15.15s %5.5d %5.5d %5.5d ", qinf->queuename, qinf->job_wait, qinf->job_hold, qinf->job_run); switch(qinf->status){ case 1 : printf("active "); break; case 0 : default : printf("inactive"); break; } printf("\n"); qinf++; } mode = FREEQST; /* * call Mp_ListQueue_Ex() API */ Mp_ListQueue_Ex (NULL, mode, &queinf, system_num); return(0); }
目次 索引 |