このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
定期実行タスク
はじめに
定期実行タスクは、時間をトリガーとするイベントで、以下の2つのモードがあります。
- カスタム時間:一般的なcronのように、システム時間に基づいてスケジュール実行されます。
- コレクションの時刻フィールド:コレクション内の時刻フィールドの値に基づいて、その時刻になったらトリガーされます。
システムが設定されたトリガー条件を満たす時刻(秒単位の精度)に達すると、関連するワークフローがトリガーされます。
基本的な使い方
定期実行タスクの作成
ワークフローリストでワークフローを作成する際、タイプとして「定期実行タスク」を選択します。

カスタム時間モード
通常のモードでは、まず開始時刻を任意の時点(秒単位の精度)で設定する必要があります。開始時刻は未来の時刻にも、過去の時刻にも設定できます。過去の時刻に設定した場合、設定された繰り返し条件に基づいて、実行時刻が到来したかどうかがチェックされます。繰り返し条件が設定されておらず、開始時刻が過去の場合、ワークフローはそれ以降トリガーされません。
繰り返しルールには、以下の2つの設定方法があります。
- 間隔で:開始時刻から一定の間隔でトリガーされます(例:1時間ごと、30分ごとなど)。
- 詳細モード:cronルールに従い、固定されたルールに基づく日時で周期的に実行されるように設定できます。
繰り返しルールを設定した後、終了条件も設定できます。固定された時刻で終了させることも、実行回数で制限することも可能です。
コレクションの時刻フィールドモード
コレクションの時刻フィールドを使って開始時刻を決定するモードは、通常の定期実行タスクとコレクションの時刻フィールドを組み合わせたトリガーモードです。このモードを使用すると、特定のプロセスにおけるノードを簡素化でき、設定もより直感的になります。例えば、期限切れで未払いの注文をキャンセル済みのステータスに変更する必要がある場合、コレクションの時刻フィールドモードの定期実行タスクを1つ設定し、開始時刻を注文作成から30分後に設定するだけで済みます。
関連するヒント
未起動または停止状態での定期実行タスク
設定された時刻条件が満たされたときに、NocoBaseアプリケーションサービス全体が未起動または停止状態の場合、その時刻にトリガーされるべき定期実行タスクはスキップされます。そして、サービスが再起動した後も、スキップされたタスクは再度トリガーされません。そのため、利用時にはそのような状況への対応や代替策を検討する必要があるかもしれません。
繰り返し回数
終了条件で「繰り返し回数」を設定した場合、同じワークフローの全バージョンで実行された合計回数がカウントされます。例えば、ある定期実行タスクがバージョン1で10回実行され、繰り返し回数も10回に設定されている場合、そのワークフローはそれ以降トリガーされません。新しいバージョンにコピーしても、繰り返し回数を10より大きい数値に変更しない限り、トリガーされることはありません。しかし、新しいワークフローとしてコピーした場合、実行回数は0から再計算されます。関連する設定を変更しない限り、新しいワークフローはさらに10回トリガーされることになります。

