メインコンテンツへスキップ

スリープノード

スリープノードは、設定可能な期間だけフローを一時停止し、再試行前に遅延を入れたり、API コールの間隔を空けたり、スケジュールされたフロー内で後の時刻まで待機したりするために使用します。プロバイダーの API はレートリミットを設けていることが多く、コール間に短いスリープを入れることでスロットリングを回避しやすくなります。また、伝搬や最終的な整合性に依存するステップ(例:新しいリソースや IAM 変更が有効になるのを待つ場合)、あるいはクールダウン期間後にのみ再チェックや通知を行いたい場合にもスリープノードを使用できます。設定した期間が経過すると実行は自動的に再開され、次のノードへ進みます。

スリープノードの設定

スリープノードを選択すると、サイドパネルが開き、タブとして ParametersTest が表示されます。

Sleep node configuration panel – Parameters tab with Duration and Unit (Minutes/Hours/Days)

  • Duration:正の整数を入力します。

    • Minutes:最小は 5 です。

    • Hours または Days:最小は 1 です。

  • UnitMinutesHoursDays から選択します。

実行時の挙動

実行がスリープノードに到達すると、設定した期間が経過するまで、その実行は一時停止(待機中)されます。その後、CloudFlow が実行を再開し、フローは次のノードへ進みます。実行履歴では、一時停止中はノードと実行に Sleeping が表示されます。

Flow run detail or run list showing a node or execution in Sleeping status

例:チェック後に遅延してサマリーを送信する

この例では、スリープノードを使用して通知を遅延送信し、バックグラウンドプロセスや外部システムが完了する時間を確保してからチームにアラートを送ります。

  1. Schedule トリガー:フローを毎日(または任意のスケジュールで)実行します。
  2. AWS または GCP ノード:チェックを実行します(例:リソースの一覧取得やコンプライアンスチェックの実行)。
  3. Sleep ノード:Duration1UnitHours に設定し、次のステップに進む前に 1 時間フローを一時停止します。
  4. Notification ノード:Slack やメールにサマリーを送信します(例:Daily check completed; see run for details)。

フローがスリープ中の間、実行履歴ではその実行に Sleeping と表示されます。1 時間後、CloudFlow が実行を再開し、Notification ノードが実行されます。遅延を短くしたい場合は Minutes(最小 5)を使用し、例えば 2 回の API コールの間隔を 5 分空けてレートリミットを回避することもできます。

  • Triggers — フローをスケジュールで開始し、スリープと組み合わせて実行内のステップを遅延させます。
  • Create flows — ノードを追加し、フローを公開します。
  • Notification node — スリープノードの後などに、遅延してアラートやサマリーを送信します。