4D v14.3

GET ACTIVITY SNAPSHOT

ホーム

 
4D v14.3
GET ACTIVITY SNAPSHOT

GET ACTIVITY SNAPSHOT 


 

GET ACTIVITY SNAPSHOT ( arrActivities | arrUUID ; arrStart ; arrDuration ; arrInfo {; arrSubOp}{; *} ) 
引数   説明
arrActivities | arrUUID  Object array, テキスト配列 in オペレーションの詳細な情報(オブジェクト配列) またはオペレーションの UUID(テキスト配列)
arrStart  テキスト配列 in オペレーションの開始時刻
arrDuration  倍長整数配列 in オペレーションの所要時間(ミリ秒単位)
arrInfo  テキスト配列 in オペレーションを説明するラベル
arrSubOp  Object array in subOperations プロパティ
演算子 in 渡した場合、サーバーの状態を取得

説明   

GET ACTIVITY SNAPSHOTコマンドは、4D 上で進行中のデータ操作の詳細を記載した配列を、一つまたは複数の配列に返します。これらの操作は、通常進捗ウィンドウが表示されます。

この情報は、もっとも時間のかかっているオペレーションまたは頻繁に使用されているオペレーション(キャッシュ書き込みやフォーミュラの実行など)のスナップショットを取るのに使われます。

注: GET ACTIVITY SNAPSHOT コマンドによって返された情報は、4D Server のリアルタイムモニターのページに表示されているデータと同じです。 ( 4D Server Reference Guide を参照して下さい。)

デフォルトとして、 GET ACTIVITY SNAPSHOT はローカルに実行されている操作のみ処理します(4D シングルユーザー、4D サーバーまたはリモートモードの4Dなど)。それに加え、リモートモードの4Dでは、サーバーで実行されている操作のスナップショットを取ることもできます。そのためには最後の引数として、 * 演算子を渡して下さい。サーバーのデータはローカルに復元されます。
* 演算子は、コマンドが4Dサーバーや4Dシングルユーザー上で実行された場合には無視されます。

GET ACTIVITY SNAPSHOT コマンドではシンタックスを使用することができます:

  • オブジェクト配列のみを使用するシンタックス
  • 複数の配列を使用するシンタックス

この記法では、リアルタイムモニターの全てのオペレーションが構造化された形式で4D オブジェクト配列( arrActivities 引数で指定)に返されます。配列の各要素は、以下の様に構築されたオブジェクトになっています:

[
    {
        "message":"xxx",
        "maxValue":12321,
        "currentValue":63212,
        "interruptible:0,
        "remote":0,
        "uuid":"deadbeef",
        "taskId":xxx,
        "startTime":"2014-03-20 13:37:00:123",
        "duration":92132,
        "subOperations":[
            {"message":"xxx",
            ...}
            ]
    },
    {...}
]

返されたそれぞれのプロパティの詳細は以下の通りです:

  • message (テキスト): オペレーションのラベル
  • maxValue (数値): オペレーションに設定された繰り返しの回数(繰り返ししないオペレーションには-1が返されます)
  • currentValue (数値): カレントの繰り返し回数
  • interruptible (数値): オペレーションがユーザーによって割り込み可能かどうか(0=true, 1=false)
  • remote (数値): オペレーションがクライアントとサーバー間でペアになっているかどうか(0=true, 1=false)
  • uuid (テキスト): オペレーションのUUID識別子
  • taskId (数値): オペレーションの開始時のプロセスの内部識別子
  • startTime (テキスト): "yyyy-mm-dd hh:mm:ss:mls" フォーマットでのオペレーションの開始時刻
  • duration (数値): オペレーションの持続時間(ミリ秒単位)
  • subOperations (配列): カレントのオペレーションのサブオペレーション(あれば)を含んだオブジェクトの配列。それぞれのサブ要素のストラクチャはメインオブジェクトないのものと同じです。カレントオペレーションにサブオペレーションが何もない場合、subOperations は空の配列になります。

この記法では、リアルタイムモニターの全てのオペレーションが、同期した複数の配列に返されます(オペレーションがあるたび、全ての配列に要素が追加されていきます)。返される配列は以下の通りです:

  • arrUUID: それぞれのオペレーションに対する UUID が保存されます(第一シンタックスでのarrActivities オブジェクトのuuid プロパティと対応します)。
  • arrStart: それぞれのオペレーションの開始時刻が格納されます(第一シンタックスでのarrActivities オブジェクトのstartTimeプロパティと対応します)。
  • arrDuration: それぞれのオペレーションの所要時間がミリ秒単位で格納されます(第一シンタックスでのarrActivities オブジェクトのdurationプロパティと対応します)。
  • arrInfo : それぞれのオペレーションを説明するラベルが保存されます(第一シンタックスでのarrActivities オブジェクトのmessageプロパティと対応します)。
  • arrSubOp (任意): この配列の要素には、 "subOperations" プロパティを格納するオブジェクトが入っています。このプロパティの値はカレントオペレーションのサブ処理を全て含んだ object 配列となっています。カレントのオペレーションにサブ処理が何もない場合、 subOperations の値は空の配列となります(第一シンタックスでのarrActivities オブジェクトの subOperationsプロパティと対応します)。

例題  

4D か 4Dサーバーにおける個別のプロセスにおいて以下のメソッドを実行した場合、下図の様にオペレーションのスナップショットを返します:

 ARRAY TEXT(arrUUID;0)
 ARRAY TEXT(arrStart;0)
 ARRAY LONGINT(arrDuration;0)
 ARRAY TEXT(arrInfo;0)
 
 Repeat
    GET ACTIVITY SNAPSHOT(arrUUID;arrStart;arrDuration;arrInfo)
    If(Size of array(arrUUID)>0)
       TRACE // デバッガを呼び出し
    End if
 Until(False// 無限ループ

以下の様な配列が返されます:

 
プロパティ 

プロダクト: 4D
テーマ: ツール
番号: 1277

 
履歴 

New
初出: 4D v14

 
参照 

リアルタイムモニター

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14.3)

Parent of : GET ACTIVITY SNAPSHOT ( 4D v14 R3)