【Bubble】Schedule API Workflowが10回で止まる原因と解決方法
Bubbleでアプリ開発を行う際、データを繰り返し処理するためにSchedule API Workflowを使用することがあります。
しかし、実際の運用時にワークフローが10回で停止するという問題に直面することがあります。
弊社の開発においても、10回以上の繰り返し処理が必要な実装において、10回で処理が止まってしまう事象がありました。
この問題の原因は、Bubbleが採用しているInfinite Recursion Protection(無限再帰防止機能)によるものであり、下記で解説している方法で実装することができました。
本記事では、開発時の経験を参考にこの機能の仕組みを解説し、10回以上ワークフローを繰り返す方法とその設定方法について詳しく説明します。
1. Schedule API Workflowが10回で止まる原因
Bubbleを使って開発を進める中で、データを繰り返し処理させる際に使用する再帰的なSchedule API Workflowが、10回で止まってしまうという問題が発生することがあります。
これは、Bubbleの「Infinite Recursion Protection(無限再帰防止機能)」によるものです。
下記にて、この機能の仕組みと10回以上ワークフローを繰り返す方法を解説します。
2. Infinite Recursion Protectionとは?
Bubbleは、繰り返すワークフローの無限ループを防ぐために、再帰的なWorkflowをデフォルトで10回までに制限 しています。
例えば、大量のデータを順次処理するバッチ処理のように連続して10回以上データ処理を行う場合、デフォルトの設定のままだと10回のワークフローで自動的にストップするといった事象が発生します。
下記はこれらの機能が影響を受けると考えられるケースの一部です。
3. 問題の発生例
ケース1:勤怠管理システムでの月次データ処理が途中で停止
企業の出退勤を管理する勤怠システムを開発している際に、毎月の締め日に1か月分の出退勤データを集計し、欠勤や遅刻、早退を処理するワークフロー を設定。
しかし、ワークフローをスケジュールして実行したところ、10回目の処理で停止し、それ以降のデータが処理されない 。
4. 解決方法
手順1:Infinite Recursion Protectionの設定を変更する
Bubbleの Settings > API > Recursive Workflows から 最大呼び出し回数を変更 できます。
- Bubbleエディタで「Settings」タブを開く
- 「API」タブに移動
- 「Recursive Workflows」の項目で、最大回数を適切な値に設定
注意点:
- 無闇に回数を増やすと、ワークロードが増えすぎて負荷がかかる可能性があるため、最適な回数を設定 すること。
5. まとめ
- BubbleのInfinite Recursion Protection により、デフォルトで10回までしかAPI Workflowが実行されない設定となっている。
- 10回以上の実行が必要な場合は、「Settings > API > Recursive Workflows」にて、ワークフロー制限の設定を変更する。
-
facebookで
シェアする -
Xで
シェアする -
LINEで
送る -
URLをコピーしました!