キュー内の停止/遅延/待機中のメッセージを表示するには、クエリまたはコマンドが必要ですが、長い間です。
キューにあり、処理されていないメッセージは、次のコマンドを使用して表示できます。
DISPLAY QSTATUS(q-name) ALL
まず、キューにあるメッセージの数を非常に簡単に示すCURDEPTH
値を確認できます。その単一の数値自体は、それらのメッセージが1秒前に到着したか1時間前に到着したかを反映するのではなく、コマンドを発行したときにキューにあったメッセージの数を示しているだけです。そのキューでメッセージを処理しているアプリケーションがある場合、しばらくしてから再度発行すると、別の番号が表示される可能性があります。
このコマンドで返される他のさまざまなフィールドがあり、メッセージが処理される前にこのキューにとどまっている時間に関する詳細情報が表示されます。どのアプリケーションもメッセージをキューから外していないことが心配な場合は、最後のメッセージがキューから外された日時を示すLGETDATE
とLGETTIME
を確認する必要があります。これが少し前の場合は、(入力)を取得するためにキューを開いているアプリケーションの数を示すIPPROCS
も確認する価値があります。
アプリケーションがキューで動作していることがわかり、LGETTIME
が定期的に変更されているようで、定期的な処理が行われていることを示しているが、それでも長い間キューにメッセージがあると思われる場合は、次のメッセージを取得していないが、代わりにmessage-idまたはcorrelation-idによって特定のメッセージを取得しているアプリケーション。この場合、キューは定期的に処理されていますが、古いメッセージがいくつかある可能性があり、これらはMSGAGE
に高い値として表示されます。
N.B.これらのフィールドの一部により、キューマネージャーコードによって追加のタイムスタンプが取得されました。具体的には、LGETTIME
およびMSGAGE
です。これらはMONQ
属性によって制御されるため、この種のデータを表示したくない場合は、この余分なCPU時間を費やすことはありません。次のコマンドを発行して、これらの余分な情報をオンにします。-
ALTER QLOCAL(q-name) MONQ(HIGH)
関連情報: