KILL WORKER
KILL WORKER {( process )}
引数 | 型 | 説明 | |
---|---|---|---|
process | Text, Integer | → | 終了させるプロセスの番号または名称 (省略の場合はカレントプロセス) |
説明
KILL WORKER コマンドは process に指定した番号、または名称のワーカープロセスにメッセージを送信し、現在の処理が完了次第、未処理のメッセージすべて無視して実行を終了するよう命令します。
このコマンドの対象は、メッセージボックスを持つワーカープロセスに限られます。詳細についてはワーカーについて を参照ください。
process には実行を終了させるプロセスの番号または名称を受け渡します。指定のプロセスが存在しない場合、KILL WORKER は何もしません。
KILL WORKER のパラメーターを省略した場合には、現在実行中のワーカーにコマンドが適用されます。つまり、KILL WORKER (Current process) と同じ結果になります。
CALL WORKER によって作成されたワーカーではないプロセス (例えばアプリケーションワーカーなど) に対してKILL WORKER が適用された場合には、KILL WORKER コマンドはワーカーのメッセージボックスを空にするだけです。
KILL WORKER コマンドによって終了させられたワーカーに、CALL WORKER コマンドを呼び出してメッセージを送ろうとした場合、新しいプロセスが開始されます。一つのワーカーに対して一つのプロセスのみが実行中であるようにするために、新しいプロセスは、その前のプロセスが実際に終了されたあとに開始されます。ただし、CALL WORKER がワーカーから呼び出されて自分自身にメッセージを送信しようとたものの、その直後にプロセスがKILL WORKER によって終了されていた場合、コマンドは何もしないという点に注意してください。
例題
例えばフォームなどで次のようなコードを実行し、ワーカーの終了をトリガーします:
CALL WORKER(vWorkerName;"theWorker";"end")
ワーカーメソッド (theWorker) の例です:
//theWorker メソッド
var $1 : Text //パラメーター
Case of
:($1="call") // ワーカーをコールした場合
... // 処理用のコード
:($1="end") // ワーカーの終了を指示した場合
KILL WORKER
End case
参照
CALL WORKER
Current process name
ワーカーについて