Skip to main content
Otomasi adalah bagian dari aplikasi yang berjalan sendiri — sesuai jadwal, atau ketika layanan eksternal mengirim acara. Anda mendeklarasikannya pada komponen process di kazzle.config.ts. Satu komponen dapat memiliki sebanyak trigger yang Anda butuhkan.

Bentuknya

Dua hal terjadi di sini:
  • processMode memilih siklus hidup — server yang berjalan lama, atau satu kali berjalan per trigger.
  • triggers[] mencantumkan acara yang harus memicu komponen ini.
Kedua bagian tersebut independen. Server yang persisten dapat memiliki cron. Proses yang efemeral dapat memiliki webhook. Pilih siklus hidup yang sesuai dengan beban kerja, kemudian lampirkan sebanyak trigger yang Anda inginkan.

processMode

Trigger

Setiap trigger memiliki name (unik dalam komponen), kind, dan — tergantung mode — schedule dan/atau path.

Mode persisten — HTTP ke server

Ketika trigger diaktifkan untuk komponen persisten, Kazzle memPOST ke server Anda di path yang dideklarasikan. Permintaan membawa: Untuk trigger webhook, badan permintaan asli diteruskan sebagai badan POST. Untuk trigger jadwal, badan kosong.

Mode triggered — satu kali per trigger

Ketika trigger diaktifkan untuk komponen triggered, Kazzle menjalankan skrip entri segar dan menunggu hingga keluar. Tidak ada path; skrip mempelajari trigger mana yang diaktifkan dari variabel env.
Komponen triggered tidak memiliki mesin idle di produksi — mereka berjalan per panggilan dan mati saat keluar.

URL Webhook

Segmen triggerName harus cocok dengan entri kind: 'webhook' di triggers[] komponen tersebut. Nama trigger yang tidak dikenal mengembalikan 404.

Resolusi jadwal

Ekspresi cron adalah 5-field (menit, jam, hari-bulan, bulan, hari-minggu) dan resolusi menit adalah batas bawah. Jadwal sub-menit ditolak pada waktu validasi manifest.

Bagaimana run dicatat

Setiap pemicu fire menulis baris process_runs dengan trigger_name, triggered_by, run_id, dan status keluar run. Anda dapat menanyakan ini dari kode Anda sendiri atau memeriksa di tampilan run aplikasi.

Kehabisan kredit

Run yang gagal dicatat dan dicatat, tetapi jadwal terus berjalan sesuai ritme normalnya — run yang tidak stabil tidak pernah menonaktifkan trigger. Satu-satunya hal yang menghentikan run adalah kredit: setiap pemicu fire diperiksa terhadap saldo space, dan sementara space kehabisan kredit (atau tidak memiliki penagihan yang disiapkan) run dilewati dengan 402. Ini self-recovering — jadwal tetap aktif dan fire berikutnya setelah Anda mengisi ulang berjalan normal, tanpa resume manual.

Menambahkan otomasi nanti

Aplikasi sederhana dapat dimulai tanpa trigger dan mendapatkannya nanti — tambahkan ringkasan harian, hubungkan Stripe, jalankan pembersihan. Siklus hidup komponen (processMode) dan trigger (triggers[]) independen, jadi Anda dapat mengubahnya tanpa menulis ulang sisa aplikasi.