フローデザイナーを使ってタイマーを作成しました。
今回のフローの全体は下図のようになります。
今回使用するフロー変数は以下の通りです。変更にチェックがついていませんが、今回は実行前に値を入れるだけでいいので、
これで大丈夫です。
解説
制限時間の秒数をミリ秒に変換する
最初のマッパーで、フロー変数の制限時間をスリープのスリープ時間(ミリ秒)に合わせるため、1000倍して秒をミリ秒に変換します。
変換した値をコンポーネントの「スリープ時間(ミリ秒)」の渡します。
スリープで制限時間の間フローを停止する
スリープ時間(ミリ秒)の間だけ、フローを停止します。下図ではマッパーで制限時間をミリ秒に変換したMultiply1が入っています。
プロパティの出力ログ(実行前)がフローを停止する際に、出力ログ(実行後)がフローを再開する際にログとしてFSMCに出力されます。
結果の出力
フロー変数の値と「秒経過しました。」をconcatで接続したものを戻り値として、フロー変数として設定した制限時間が経過したことを伝えます。
実行結果
フロー実行時の入力情報タブから引数「制限時間」の値を設定してから実行します。
今回は制限時間を8秒にして実行します。
戻り値として「8秒経過しました。」が返ってきていることが確認できました。
画像下のステータスでも、正常終了:8061msでほぼ8秒で終了したことが確認できます。