Flow Designerの期間の待機フローロジックについて

a_129
Mega Guru

find_real_file.png

現在、上記画像の期間の待機フローロジックを使用しているのですが、こちらのフローロジックは動作が開始された後に待機期間を変更することはできないでしょうか?また、できない場合、期間まで待機しているフローロジックを停止する方法などは無いでしょうか?

方法をご存じでしたらご教授いただければ幸いです。

1 件の受理された解決策

iwai
Giga Sage

待機時間を変更することは出来ません。フローロジックを停止する方法もありません。

内部処理的には、この待機にはスケジュールジョブが使われています。スケジュールジョブに設定されている時間を調整することで変更できます。

しかし、その特定のスケジュールジョブを見つけることが困難です。多数あるスケジュールジョブの中からフローの待機に使用されているスケジュールジョブを特定する仕様は公開されていません。それでも特殊なスクリプトでそれを実現することも出来ますが、公式な方法ではないので不具合を発生させたり、将来の仕様変更で動かなくなる可能性も高いのでお勧めしません。

別の方法を考えるのが良いです。

例えばフローの待機中に待機時間を変更する場合、もう一度フローを実行しなおす。過去のフローは通常とおり待機後に進むがその後の判定で停止させる。

  1. フロー処理開始。
  2. レコードの待機時間をフローの変数に保持する。
  3. フロー変数の待機時間に従って待機。
  4. 待機終了後、レコードの待機時間とフロー変数の待機時間が異なる場合、フロー終了
  5. 待機時間が同一なら、処理続行。
  6. 処理終了でフロー終了

こうしておけば、何らかの理由でレコードの待機時間を変更したい場合は、レコードの待機時間を更新して再度フローを呼び出すことで、新しい指定時間で待つことができます。

元の投稿で解決策を見る

2件の返信2

iwai
Giga Sage

待機時間を変更することは出来ません。フローロジックを停止する方法もありません。

内部処理的には、この待機にはスケジュールジョブが使われています。スケジュールジョブに設定されている時間を調整することで変更できます。

しかし、その特定のスケジュールジョブを見つけることが困難です。多数あるスケジュールジョブの中からフローの待機に使用されているスケジュールジョブを特定する仕様は公開されていません。それでも特殊なスクリプトでそれを実現することも出来ますが、公式な方法ではないので不具合を発生させたり、将来の仕様変更で動かなくなる可能性も高いのでお勧めしません。

別の方法を考えるのが良いです。

例えばフローの待機中に待機時間を変更する場合、もう一度フローを実行しなおす。過去のフローは通常とおり待機後に進むがその後の判定で停止させる。

  1. フロー処理開始。
  2. レコードの待機時間をフローの変数に保持する。
  3. フロー変数の待機時間に従って待機。
  4. 待機終了後、レコードの待機時間とフロー変数の待機時間が異なる場合、フロー終了
  5. 待機時間が同一なら、処理続行。
  6. 処理終了でフロー終了

こうしておけば、何らかの理由でレコードの待機時間を変更したい場合は、レコードの待機時間を更新して再度フローを呼び出すことで、新しい指定時間で待つことができます。

ご回答ありがとうございました。

とても参考になりました。