【Bubble】Schedule API Workflowが10回で止まる原因と解決方法

Bubbleでアプリ開発を行う際、データを繰り返し処理するためにSchedule API Workflowを使用することがあります。

しかし、実際の運用時にワークフローが10回で停止するという問題に直面することがあります。

弊社の開発においても、10回以上の繰り返し処理が必要な実装において、10回で処理が止まってしまう事象がありました。

この問題の原因は、Bubbleが採用しているInfinite Recursion Protection(無限再帰防止機能)によるものであり、下記で解説している方法で実装することができました。

本記事では、開発時の経験を参考にこの機能の仕組みを解説し、10回以上ワークフローを繰り返す方法とその設定方法について詳しく説明します。

目次
無料で資料をダウンロード

ノーコード開発お役立ち資料3点セット

計100ページ近い大ボリュームでノーコード開発について解説

  • ノーコード開発会社の選び方
  • EPICsのノーコード受託開発の特徴
  • 支援実績・事例集

    氏名

    法人名

    メールアドレス

    電話番号

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    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 から 最大呼び出し回数を変更 できます。

    1. Bubbleエディタで「Settings」タブを開く
    2. 「API」タブに移動
    3. 「Recursive Workflows」の項目で、最大回数を適切な値に設定

    注意点:

    • 無闇に回数を増やすと、ワークロードが増えすぎて負荷がかかる可能性があるため、最適な回数を設定 すること。

    5. まとめ

    • BubbleのInfinite Recursion Protection により、デフォルトで10回までしかAPI Workflowが実行されない設定となっている。
    • 10回以上の実行が必要な場合は、「Settings > API > Recursive Workflows」にて、ワークフロー制限の設定を変更する。
    「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
    ノーコード開発ツールを使ったアプリ・システム開発にお困りですか?
    1からの開発も、途中からの開発も、お気軽にEPICsにご相談ください!
    この記事を書いた人
    EPICs株式会社 編集部
    創業よりBubble、Adaloなどノーコードに特化したアプリ・システムの受託開発事業を展開するノーコードのプロフェッショナル集団です。
    目次