| 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);
}
			目次
			索引
			![]()  
		 |