たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

KNIME_次のNodeの実行を待機させる/WF実行の一時停止【Wait...】

使用Node:Wait...

Nodeの処理実行を制御・待機するケースとは


1. Java記述系Nodeや【External Tool】によって外部アプリケーションを起動した場合に、その終了を待って次のNode処理に進みたい*1
2. ある地点の結果をもとに、別のWFやシステム動かしたいのでWFを一時停止したい

使用Nodeの説明【Wait...】


Nodeの処理が先に進むのを防ぐために意図的に次のNode実行を待機させる
※バッチファイルでいうtimeoutコマンド のようなもの

WFの例と解説

▼配置例▼

次の【Java Snippet】の処理を開始するまで、30秒間待機

▼Node設定例▼


参考:【External Tool】でバッチファイルを指定した場合の経験談


External Toolでファイルを実行する場合、その処理が終わる前に次のNodeの処理が開始してしまうことがある
仮に以下の記述例のように、startコマンドで対象のファイルを起動する際には、オプション「/wait」を追記すればNode【wait...】の設置は必要ない

▼記述例▼

//「C:\Users\user\Desktop\ken_all」に格納されているaccess「db.accdb」を起動
start /wait /d  "C:\Users\user\Desktop\ken_all" db.accdb


▼KNIME Hub▼ kni.me

*1:※KNIMEWFによるバッチファイルの起動方法は別記事を参照