Timerコンポーネントで実行したフローが呼出し元のフローの終了より先に開始されてしまいます

フローAからフローBを呼び出す場合にTimerコンポーネントを使用すると、フローAが終了する前にフローBが開始することがあります。これはTimerコンポーネントがフローAの実行とは別スレッドでフローBを開始するためです。つまり、フローAとフローBは並列に実行されることになります。

フローを順番に実行したいとき、たとえばフローAが確実に終了してから次にフローBを実行したいようなときには、フローAの終了コンポーネントにNextFlowコンポーネントを使用してください。

また、SingleScheduleコンポーネントを使って実行日時を指定して実行した場合も同様です。SingleScheduleコンポーネントはフローBの実行をスケジューラーに登録するとすぐに処理制御が戻ってきます。スケジューラーではスケジュールされた時刻がくるとフローAの実行とは関係なくフローBを開始します。このため、タイミングによってはフローAよりもスケジュールしたフローBが先に開始することがあります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
    キーワード:
  • フローサービス
  • SingleSchedule
  • Timer
  • NextFlow
  • スケジュール
  • 並列
他にご質問がございましたら、リクエストを送信してください

このセクションの記事

他のキーワードで検索する