Kdbplus-q-language-message-handler
Q言語-メッセージハンドラー
Kdb +プロセスには、いくつかの定義済みのメッセージハンドラがあります。 データベースを構成するには、メッセージハンドラーが重要です。 使用法のいくつかが含まれます-
- ロギング-受信メッセージをログに記録します(致命的なエラーが発生した場合に役立ちます)。
- セキュリティ-ユーザー名/IPアドレスに基づいて、データベースへのアクセス、特定の関数呼び出しなどを許可/禁止します。 許可されたサブスクライバーのみにアクセスを提供するのに役立ちます。
- *他のプロセスからの接続/切断*を処理します。
定義済みのメッセージハンドラ
定義済みのメッセージハンドラの一部については、以下で説明します。
.z.pg
同期メッセージハンドラー(プロセスget)です。 この関数は、kdb +インスタンスで同期メッセージが受信されるたびに自動的に呼び出されます。
パラメーターは、実行される文字列/関数呼び出し、つまり渡されたメッセージです。 デフォルトでは、次のように定義されています-
.z.ps
非同期メッセージハンドラー(プロセスセット)です。 非同期メッセージの同等のハンドラーです。 パラメーターは、実行される文字列/関数呼び出しです。 デフォルトでは、次のように定義されています。
以下は、保護された実行を使用した非同期メッセージ用のカスタマイズされたメッセージハンドラです。
ここで、 errhandler は、予期しないエラーが発生した場合に使用される関数です。
.z.po []
接続オープンハンドラー(プロセスオープン)です。 リモートプロセスが接続を開いたときに実行されます。 プロセスへの接続が開かれたときにハンドルを確認するには、.z.poを次のように定義します。
.z.pc []
これは、接続を閉じるハンドラーです(process-close)。 接続が閉じられたときに呼び出されます。 グローバル接続ハンドルを0にリセットし、タイマーを3秒(3000ミリ秒)ごとに起動(実行)するように設定するコマンドを発行できる独自のクローズハンドラーを作成できます。
タイマーハンドラー(.z.ts)は、接続を再度開こうとします。 成功すると、タイマーがオフになります。
.z.pi []
PIはプロセス入力を表します。 あらゆる種類の入力に対して呼び出されます。 コンソール入力またはリモートクライアント入力の処理に使用できます。 .z.pi []を使用すると、コンソール入力を検証したり、デフォルトのディスプレイを置き換えたりできます。 さらに、あらゆる種類のロギング操作に使用できます。
.z.pw
これは、検証接続ハンドラー(ユーザー認証)です。 kdb +セッションへの接続が開かれているときに、追加のコールバックを追加します。 -u/-Uチェックの後、.z.po(ポートが開く)の前に呼び出されます。
入力は userid (記号)および password (テキスト)です。