logologo
スタート
マニュアル
開発
プラグイン
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
スタート
マニュアル
開発
プラグイン
API
logologo
ワークフロー
概要
クイックスタート

トリガー

概要
データテーブルイベント
定期タスク
操作前イベント
操作後イベント
カスタムアクションイベント
承認
Webhook

ノード

概要

AI

LLM

フロー制御

条件
複数条件分岐
ループ
変数
並列分岐
ワークフロー呼び出し
フロー出力
JSON変数マッピング
遅延
終了

計算

計算
日付計算
JSON計算

データ操作

データ追加
データ更新
データ検索
データ削除
SQL操作

手動処理

手動処理
承認
CC

拡張タイプ

HTTPリクエスト
JavaScriptスクリプト
通知
メール送信
レスポンス
レスポンスメッセージ
変数
実行履歴
バージョン管理
詳細設定

拡張機能開発

概要
拡張トリガータイプ
拡張ノードタイプ
APIリファレンス
Previous Pageデータテーブルイベント
Next Page操作前イベント
TIP

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

#定期実行タスク

#はじめに

定期実行タスクは、時間をトリガーとするイベントで、以下の2つのモードがあります。

  • カスタム時間:一般的なcronのように、システム時間に基づいてスケジュール実行されます。
  • コレクションの時刻フィールド:コレクション内の時刻フィールドの値に基づいて、その時刻になったらトリガーされます。

システムが設定されたトリガー条件を満たす時刻(秒単位の精度)に達すると、関連するワークフローがトリガーされます。

#基本的な使い方

#定期実行タスクの作成

ワークフローリストでワークフローを作成する際、タイプとして「定期実行タスク」を選択します。

定期実行タスクの作成

#カスタム時間モード

通常のモードでは、まず開始時刻を任意の時点(秒単位の精度)で設定する必要があります。開始時刻は未来の時刻にも、過去の時刻にも設定できます。過去の時刻に設定した場合、設定された繰り返し条件に基づいて、実行時刻が到来したかどうかがチェックされます。繰り返し条件が設定されておらず、開始時刻が過去の場合、ワークフローはそれ以降トリガーされません。

繰り返しルールには、以下の2つの設定方法があります。

  • 間隔で:開始時刻から一定の間隔でトリガーされます(例:1時間ごと、30分ごとなど)。
  • 詳細モード:cronルールに従い、固定されたルールに基づく日時で周期的に実行されるように設定できます。

繰り返しルールを設定した後、終了条件も設定できます。固定された時刻で終了させることも、実行回数で制限することも可能です。

#コレクションの時刻フィールドモード

コレクションの時刻フィールドを使って開始時刻を決定するモードは、通常の定期実行タスクとコレクションの時刻フィールドを組み合わせたトリガーモードです。このモードを使用すると、特定のプロセスにおけるノードを簡素化でき、設定もより直感的になります。例えば、期限切れで未払いの注文をキャンセル済みのステータスに変更する必要がある場合、コレクションの時刻フィールドモードの定期実行タスクを1つ設定し、開始時刻を注文作成から30分後に設定するだけで済みます。

#関連するヒント

#未起動または停止状態での定期実行タスク

設定された時刻条件が満たされたときに、NocoBaseアプリケーションサービス全体が未起動または停止状態の場合、その時刻にトリガーされるべき定期実行タスクはスキップされます。そして、サービスが再起動した後も、スキップされたタスクは再度トリガーされません。そのため、利用時にはそのような状況への対応や代替策を検討する必要があるかもしれません。

#繰り返し回数

終了条件で「繰り返し回数」を設定した場合、同じワークフローの全バージョンで実行された合計回数がカウントされます。例えば、ある定期実行タスクがバージョン1で10回実行され、繰り返し回数も10回に設定されている場合、そのワークフローはそれ以降トリガーされません。新しいバージョンにコピーしても、繰り返し回数を10より大きい数値に変更しない限り、トリガーされることはありません。しかし、新しいワークフローとしてコピーした場合、実行回数は0から再計算されます。関連する設定を変更しない限り、新しいワークフローはさらに10回トリガーされることになります。

#繰り返しルールにおける間隔と詳細モードの違い

繰り返しルールにおける「間隔で」は、前回のトリガー(または開始時刻)からの相対的な時間に基づいて実行されます。一方、「詳細モード」は固定された時刻にトリガーされます。例えば、「30分ごとにトリガー」と設定した場合、前回のトリガーが2021-09-01 12:01:23だったとすると、次回のトリガー時刻は2021-09-01 12:31:23になります。詳細モード、つまりcronモードでは、設定されたルールはすべて固定された時刻にトリガーされます。例えば、毎時01分と31分にトリガーするように設定できます。

#例

注文作成から30分以上経過しても支払いが完了していない注文を毎分チェックし、自動的にキャンセル済みのステータスに変更するとします。これを2つのモードでそれぞれ実装してみましょう。

#カスタム時間モード

定期実行タスクベースのワークフローを作成します。トリガー設定で「カスタム時間」モードを選択し、開始時刻は現在時刻より遅くない任意の時点を選択します。繰り返しルールは「毎分」を選択し、終了条件は空欄のままにします。

定期実行タスク_トリガー設定_カスタム時間モード

その後、ワークフローのロジックに従って他のノードを設定します。30分前の時刻を計算し、その時刻より前に作成され、未払いの注文をキャンセル済みのステータスに変更します。

定期実行タスク_トリガー設定_カスタム時間モード

ワークフローが有効になると、開始時刻から毎分1回トリガーされ、30分前の時刻を計算し、その時刻より前に作成された注文のステータスをキャンセル済みに更新します。

#コレクションの時刻フィールドモード

定期実行タスクベースのワークフローを作成します。トリガー設定で「コレクションの時刻フィールド」モードを選択し、コレクションは「注文」テーブルを選択します。開始時刻は注文の作成時刻から30分後を選択し、繰り返しルールは「繰り返さない」を選択します。

定期実行タスク_トリガー設定_コレクションの時刻フィールドモード_トリガー

その後、ワークフローのロジックに従って他のノードを設定します。トリガーされたデータのIDと一致し、かつステータスが「未支払い」の注文をキャンセル済みのステータスに更新します。

定期実行タスク_トリガー設定_コレクションの時刻フィールドモード_更新ノード

カスタム時間モードとは異なり、ここでは30分前の時刻を計算する必要はありません。ワークフローのトリガーデータコンテキストには、時刻条件に合致するデータ行がすでに含まれているため、対応する注文のステータスを直接更新できます。