トリガータイプを拡張する
すべてのワークフローには、プロセスの実行を開始するためのエントリーポイントとして、特定のトリガーを設定する必要があります。
トリガータイプは通常、特定のシステム環境イベントを表します。アプリケーションの実行ライフサイクルにおいて、購読可能なイベントを提供するあらゆる部分をトリガータイプの定義に利用できます。例えば、リクエストの受信、コレクション操作、定期的なタスクなどが挙げられます。
トリガータイプは、文字列の識別子に基づいてプラグインのトリガーテーブルに登録されます。ワークフロー****プラグインには、いくつかの組み込みトリガーがあります。
'collection':コレクション操作によってトリガーされます。'schedule':定期的なタスクによってトリガーされます。'action':アクション後のイベントによってトリガーされます。
拡張するトリガータイプは、識別子が一意であることを保証する必要があります。トリガーの購読/購読解除の実装はサーバーサイドで登録し、設定インターフェー スの実装はクライアントサイドで登録します。
サーバーサイド
任意のトリガーは Trigger 基底クラスを継承し、on メソッドと off メソッドを実装する必要があります。これらはそれぞれ、特定の環境イベントを購読するためと、購読を解除するために使用されます。on メソッドでは、最終的にイベントをトリガーするために、特定のイベントコールバック関数内で this.workflow.trigger() を呼び出す必要があります。また、off メソッドでは、購読解除に関連するクリーンアップ作業を行う必要があります。
this.workflow は、Trigger 基底クラスのコンストラクターに渡されるワークフロー****プラグインのインスタンスです。
次に、ワークフローを拡張するプラグイン内で、トリガーインスタンスをワークフローエンジンに登録します。
サーバーが起動してロードされた後、'interval' タイプのトリガーを追加して実行できるようになります。
クライアントサイド
クライアントサイドでは、主にトリガータイプに必要な設定項目に基づいて設定インターフェースを提供します。各トリガータイプは、対応するタイプ設定をワークフロー****プラグインに登録する必要があります。
例えば、上記の定期実行トリガーの場合、設定インターフェースのフォームで必要な間隔時間の設定項目(interval)を定義します。
その後、拡張するプラグイン内で、このトリガータイプをワークフロー****プラグインインスタンスに登録します。
これにより、ワークフローの設定インターフェースで新しいトリガータイプが表示されるようになります。
クライアントサイドで登録するトリガータイプの識別子は、サーバーサイドのものと一致している必要があります。一致しない場合、エラーが発生します。
トリガータイプの定義に関するその他の詳細については、ワークフロー API リファレンスセクションを参照してください。

