動作テスト
動作確認のテストスクリプトを作成、実行し確認します。手順を以下に示します。
テストスクリプト(scProcChk.swt) をswctclshコマンドで直接実行し、登録が正しく行われたかを確認します。
【Windows版】
swctclsh Systemwalkerインストールディレクトリ\MPWALKER.DM\mpsc\sample\scProcChk.swt
【UNIX版】
swctclsh /etc/opt/FJSVssc/sample/scProcChk.swt
登録済みのメッセージ監視アクション型スクリプトまたは、ライブラリ型スクリプトで、正常に登録されているもののプロシジャ名が標準出力に表示されます。動作定義にエラーがある場合は、標準エラー出力にメッセージが表示されるため、その内容に従って原因を取り除きます。
エラーメッセージの出力形式
<1行目> どのような文法エラーになったかを知らせるメッセージが出力されます。 <2行目> while executing <3行目> "文法エラーになった行のテキスト"が出力されます。 <4行目> (file "文法エラーになったスクリプトファイル名" line <文法エラーになった箇所の行番号>)が出力されます。 <5行目> invoked from within
以下のサンプルスクリプトをカスタマイズし、動作確認スクリプトを作成します。
メッセージ監視アクション型スクリプトの動作確認の場合
ライブラリ型スクリプトの動作確認の場合
作成した動作確認スクリプトをswctclshコマンドで直接実行します。
swctclsh(スクリプト実行コマンド)の詳細については、“Systemwalker Centric Managerリファレンスマニュアル”を参照してください。
動作テストの結果、正常な場合は情報が標準出力に出力され、テスト対象スクリプトの処理で問題を検知したり文法エラーがあった場合は、その内容が標準エラー出力に出力されます。テスト結果の詳細については、“メッセージ監視アクション型スクリプト動作テスト”および“ライブラリ型スクリプト動作テスト”の“テスト結果”を参照してください。
注意
メッセージ監視アクション型およびライブラリ型スクリプトのテストは、Systemwalkerのサービス(デーモン)が動作しているシステム上で行います。その場合のテストスクリプトの実行は、システム管理者権限で行います。ただし、テストスクリプトは実際のコリレーション情報などに影響を及ぼすため、実運用中のシステムでテストは行わないでください。
タイムアウト値のカスタマイズ
メッセージ監視アクション型スクリプト動作テストでスクリプトの処理時間が100ミリ秒以下であっても、システムの一時的な過負荷によって、スクリプトの処理に時間がかかり、下記のメッセージが出力されることがあります。スクリプトのタイムアウト値をカスタマイズすることで、メッセージが発生しないようにすることができます。
スクリプトのタイムアウト値をカスタマイズするために編集するファイルと、カスタマイズ方法は以下のとおりです。
OS | ファイル名 |
---|---|
UNIX | /var/opt/FJSVssc/etc/scconfl.ini |
Windows | Systemwalkerインストールディレクトリ\mpwalker.dm\mpsc\etc\scconfl.ini |
【出力されるメッセージ】
MpScsv: エラー: 1054: 実行タイムアウトが発生したため、メッセージ監視アクションスクリプト(プロシジャ名=%1)の処理を中断しました。
%1: タイムアウトが発生したプロシジャ名
MpScsv: 警告: 1061: メッセージ監視アクションスクリプト(プロシジャ名=%1)の処理時間が規定値を超えました。処理は続行されます。
%1: 実行時間が規定値を超えたプロシジャ名
【編集する項目】
スクリプトの実行タイムアウト時間の規定値(SyncTimeoutSec)を増やしてください。
スクリプトの実行タイムアウト時間とは、Systemwalkerのメッセージと同期しているスクリプト処理の時間です。この間Systemwalkerのメッセージ出力は待たされます。
初期値は3(秒)で、60(秒)までの値を指定することができます。
【編集例】
SyncTimeoutSec=4
【出力されるメッセージ】
MpScsv: エラー: 1067: 先に実行されたメッセージ監視アクションスクリプトが終了していないため、スクリプト(プロシジャ名=%1)を実行できませんでした。
%1: 実行できなかったプロシジャ名
【編集する項目】
スクリプトの終了タイムアウト時間(TermTimeoutSec)を増やしてください。
スクリプトの終了タイムアウト時間とは、Systemwalkerのメッセージと同期していないスクリプト処理の時間です。この間Systemwalkerのメッセージ出力が待たされることはありません。
初期値は180(秒)で、1800(秒)までの値を指定することができます。
【編集例】
TermTimeoutSec=190