おすすめ記事

おすすめ記事一覧

Bubble・スケジュール化されたワークフロー・再帰的なワークフロー

Image result for bubble nocode

みなさん、こんにちは。いかがお過ごしでしょうか。この記事ではノーコードツール・bubbleでのスケジュール化されたワークフローと再帰的なワークフローについて説明します。アプリを作っていく過程で非常に重要なパートですので、ぜひご一読ください。それではLet’s Go!

スケジュール化されたワークフロー

API ワークフローは、アプリケーションのワークフローをスケジュールするために使用することができます。例えば、ユーザーがサインアップしてから1ヶ月後にトライアルを終了したり、イベントの1週間前にリマインダーを送信したり、毎週のニュースレターを送信するなどの 定期的なイベントを設定する必要がある場合、スケジュールワークフローを使用する ことになります。これ自体はAPIではありませんが、スケジュールワークフローはAPIワークフローと同じインターフェイスを使用して、アプリケーションのバックグラウンドで実行できるさまざまなワークフローを設定します(トップナビのページナビゲーターにある「バックエンドワークフロー」ページ)。

未来のワークフローをスケジュールする

ワークフローをスケジュールする

Schedule API Workflowアクションを使用して、将来のAPIワークフローをスケジューリングします。スケジュールしたいAPIワークフローを選択し、スケジュールの時間を定義する必要があります。APIワークフローレベルで定義された様々なパラメータを入力するように促されます。

このアクションは ID を返し、後述のアクションでスケジュールされたワークフローをキャンセルすることができます。また、APIワークフローをモノのリスト上でスケジュールし、一度に複数のワークフローをスケジュールすることもできます。パフォーマンス上の理由から、bubble はワークフローの異なる実行を時間的にスペーシングすることがあります。

スケジュール化したワークフローをキャンセルする

今後のワークフロー実行をキャンセルするには、 「スケジュールされた API ワークフローのキャンセル」または「スケジュールされた API ワークフローのリストのキャンセル」アクション を使用することができます。このアクションでは、スケジュールされた ID が使用されます。

定期的なイベントを設定する

定期的なイベントの設定は、アプリのAPIページで特定のタイプのエンドポイントを作成することから始まります。タイプ「Recurring event」を選択する必要があります。このタイプのイベントは、通常のエンドポイントと似ていますが、 1つの注目すべき違い があります。パラメータのリストを定義する代わりに、ワークフローのモノとしてワークフローが取るモノのタイプを定義する必要があります。

定期的なイベントを定義したら、’Set/cancel a recurring event’ アクションを使用して定期的なイベントをスケジュールすることができます。このアクションには、イベント、モノ、頻度、開始日が設定されています。同じアクションは、定期的なワークフローのキャンセルにも使用されますが、頻度は「none」を選択してください。

定期的に発生するイベントの頻度を更新したい場合は、あるモノに同じアクションを適用すると、次の発生のためにスケジューリングが更新されます。

未来のワークフローを閲覧する

ログタブにはスケジュールセクションがあり、日付後のスケジュールイベントを確認することができます。 各行のキャンセルをクリックすると、予定していたイベントをキャンセルする ことができます。これは、上記のキャンセルアクションを使用するのと同じです。

以上ここまでがワークフローのスケジュール化についての説明でした。ここから下では再帰的なワークフローのスケジュール化についてご説明します。後半も張り切っていきましょう!

再帰的スケジュールワークフロー

ワークフローは、将来のある時点で実行するようにスケジュールすることができます。知っておくと便利なコツは、スケジュールされたワークフローを再帰的に呼び出すことができる、つまり、スケジュールされたワークフローは、将来的に実行するように自分自身をスケジュールすることができるということです。

再帰に関する簡単な説明

再帰とは専門用語で、大まかにはコードの塊が自分自身を呼び出して再び実行することを意味します。 現実世界での例としては、辞書で単語を調べるための反復的な方法が あります。そのような状況で最初に従う「ルール」は、「辞書を開いて適当なページを開き、自分調べたい単語が開いてるページよりもアルファベット順で早い文字で始まっているときは、自分が開いてる辞書のページよりも前のページを開く。目的の単語を探せるまで同じプロセスを繰り返す」という誰しもが一度はやったことのあるあの手順です。このルールを厳密に適用し続ければ、最終的にはお目当ての単語が見つかるはずです。これは再帰の単純な例に過ぎませんが、bubbleアプリで再帰を使用すると、いくつかの強力な動作のロックを解除することができます。

再帰的なスケジュール化されたワークフローを使用して大量のデータを処理する

通常のワークフローは、データの処理に使用することができますし(例:”Make changes to a list of things”)、後でデータを処理したい場合は、”Schedule API Workflow on a list “というオプションもあります。しかし、 多くのデータを処理している場合、変更の適用に時間がかかりすぎると、これらのオプションのどちらかがタイムアウトしてしまう ことがあります。

より良い方法は、データ処理を小さなチャンクに分割し、そのうちの1つの小さなチャンクに変更を適用し、次の小さなチャンクに変更を適用し、次の小さなチャンクに変更を適用することです。これは、bubbleがあるチャンクに変更を適用した後、後の時点で次のデータのチャンクに同じ変更を適用するように自分自身に指示するため、再帰的です。

ワークフローはどのようにして次のデータの「塊」として定義されたものを知っているのでしょうか?それは、あなたが提供しなければならないロジックです。例えば、データベース内の全車のデータフィールドを更新したいが、何十万台もの車がある場合、一度に更新するとタイムアウトしてしまいます。例えば、”data updated “のようなフィールドを作成し、”data updated “が “no “の車の検索に変更を適用するAPIワークフローを作成し、最初の500台のエントリーに対してのみそれを実行します。再度実行すると、”data updated “が既に “yes “に変更されているエントリはピックアップされないので、ワークフローが何度も実行されている間に、すべての車のリストを処理していきます。

リスト上でのスケジューリングと再帰的スケジューリングの比較

ここでは、「APIワークフローをリスト上でスケジュールする」と「同じAPIワークフローを再帰的にスケジュールする」というこの戦術を比較した簡単な表を示します。

再帰的にスケジュールされたワークフローを使用するためのその他のヒント

・スケジュールされたワークフローの繰り返しインスタンスの間に5秒程度のギャップを設けて、このギャップがアプリのキャパシティに与える影響をテストすることができます(問題がなさそうであれば、いつでももっと短いギャップを試すことができます)。

・ミスをして、無限ループにはまってしまっている時には解決する2つの方法があります。
1. ログ > スケジューラで次のスケジューリングされた実行を手動で削除する。
2. API ワークフロー自体を変更または削除し、次回実行時には、更新された(または存在しない)ワークフローを使用します。

・[ログ] > [スケジューラ] > [タスクの一時停止]で、アプリのすべてのスケジュールされたワークフローを一時停止することができます。

まとめ

いかがだったでしょうか。今回はノーコードツールbubbleでのスケジュール化されたワークフローおよびワークフローのスケジューリング全般についての説明でした。未来に行う予定のスケジューリングなどはbubble以外のサービス上でも必ず通る部分かと思いますが、基本的な知識をベースにbubble上でも操作していただけたら幸いです。それではまた別の記事でお会いしましょう。See You Soon!

 

 

 

 

Katsu

Katsu

高校まで日本で育ち、大学からアメリカ・ニューヨークへ。マスメディア、ジャーナリズム、インターネットメディア戦略を専門に修学。コロナ禍でオンライン主体になりつつある世の中で、記事が何かの手助けになれば幸いです。







関連記事

  1. Adalo Resource・Google Admobとカレンダー(スクリーンとコンポーネントセクシ…

  2. 記事作成

    Bubble・言語とアプリ内コミュニケーション、SNSについて

  3. 記事作成

    Bubble・Segment(セグメント)とGoogle Optimize(オプティマイズ)

  4. 記事作成

    Bubbleの専用クラスタについて解説!!

  5. 特集記事

    爆速でスマホアプリ開発!Adaloとは?

  6. 記事作成

    Bubble・プラグインエディタ&プラグインの一般的な設定について

  7. 記事作成

    Bubbleの重要な原則とマルチページアプリについて解説!!

  8. Adalo Resource・スライダー(音量調節)とオーディオプレーヤー(スクリーンとコンポーネン…

  9. 記事作成

    Bubbleのバルク操作・コメント・コラボレーションを紹介!!

人気記事

  1. topimage
  2. 記事画像
  3. 特集記事
  4. top_image

おすすめ記事一覧

  1. Bubble
  2. Productivity
  3. 記事画像
  4. 記事画像
  5. タスク
PAGE TOP