kazzle.config.ts の process コンポーネントで宣言します。1 つのコンポーネントは必要なだけ多くのトリガーを持つことができます。
構造
processModeはライフサイクルを選択します — 長時間実行されるサーバー、またはトリガーごとの 1 回限りの実行。triggers[]はこのコンポーネントを実行するイベントをリストアップします。
processMode
トリガー
各トリガーにはname(コンポーネント内で一意)、kind、およびモードに応じて schedule および/または path があります。
永続モード — サーバーへの HTTP
永続的なコンポーネントのトリガーが発火すると、Kazzle は宣言されたpath でサーバーに POST します。リクエストは以下を含みます:
ウェブフックトリガーの場合、元のリクエストボディは POST ボディとして転送されます。スケジュールトリガーの場合、ボディは空です。
トリガーモード — トリガーごとの 1 回限り
triggered コンポーネントのトリガーが発火すると、Kazzle はエントリスクリプトを新たにスポーンし、終了を待ちます。path はありません。スクリプトは環境変数からどのトリガーが発火したかを学習します。
ウェブフック URL
triggerName セグメントは、そのコンポーネントの triggers[] 内の kind: 'webhook' エントリと一致する必要があります。不明なトリガー名は 404 を返します。
スケジュール解像度
Cron 式は 5 フィールド(分、時間、日、月、曜日)で、分単位の解像度が最小です。分未満のスケジュールはマニフェスト検証時に拒否されます。実行の記録方法
各トリガー発火はprocess_runs 行を trigger_name、triggered_by、run_id、および実行の終了ステータスで書き込みます。独自のコードからこれらをクエリするか、アプリの実行ビューで検査できます。
クレジット不足
失敗した実行は記録およびログされますが、スケジュールは通常のペースで実行を続けます — 不安定な実行がトリガーを無効にすることはありません。実行を停止する唯一のことはクレジットです:すべてのトリガー発火はスペースの残高に対してチェックされ、スペースがクレジット不足(またはビリング設定がない)の間、実行は402 でスキップされます。これは自己修復可能です — スケジュールは武装したままで、トップアップ後の次の発火は通常どおり実行され、手動での再開は不要です。
後からオートメーションを追加
シンプルなアプリはトリガーなしで開始し、後で追加できます — 日次サマリーを追加、Stripe を接続、クリーンアップを実行。コンポーネントのライフサイクル(processMode)とトリガー(triggers[])は独立しているため、アプリの残りの部分を書き直さずに変更できます。