kazzle.config.ts dosyasında bir process bileşeni üzerinde tanımlarsınız. Bir bileşen ihtiyacınız kadar çok tetikleyiciye sahip olabilir.
Yapı
processModeyaşam döngüsünü seçer — uzun süre çalışan sunucu veya tetikleyici başına tek seferlik çalışma.triggers[]bu bileşeni tetiklemesi gereken olayları listeler.
processMode
Tetikleyiciler
Her tetikleyicinin birname (bileşen içinde benzersiz), bir kind ve — moda bağlı olarak — bir schedule ve/veya path vardır.
Kalıcı mod — sunucuya HTTP
Kalıcı bir bileşen için tetikleyici ateşlendiğinde, Kazzle belirtilenpath adresinde sunucunuza POST yapar. İstek şunları taşır:
Webhook tetikleyicileri için orijinal istek gövdesi POST gövdesi olarak iletilir. Zamanlama tetikleyicileri için gövde boştur.
Tetiklenen mod — tetikleyici başına tek seferlik
triggered bileşen için tetikleyici ateşlendiğinde, Kazzle giriş betiğini yeni oluşturur ve çıkmasını bekler. path yoktur; betik hangi tetikleyicinin ateşlendiğini ortam değişkenlerinden öğrenir.
Webhook URL’leri
triggerName segmenti o bileşenin triggers[] içinde bir kind: 'webhook' girişiyle eşleşmelidir. Bilinmeyen tetikleyici adları 404 döndürür.
Zamanlama çözünürlüğü
Cron ifadeleri 5 alanlıdır (dakika, saat, ayın günü, ay, haftanın günü) ve dakika çözünürlüğü minimumdur. Dakika altı zamanlamalar manifest doğrulama sırasında reddedilir.Çalışmalar nasıl kaydedilir
Her tetikleyici ateşlemesi,trigger_name, triggered_by, run_id ve çalışmanın çıkış durumunu içeren bir process_runs satırı yazar. Bunları kendi kodunuzdan sorgulayabilir veya uygulamanın çalışmalar görünümünde inceleyebilirsiniz.
Krediler tükenmek
Başarısız bir çalışma kaydedilir ve günlüğe alınır, ancak zamanlama normal temposuyla çalışmaya devam eder — hatalı bir çalışma tetikleyiciyi asla devre dışı bırakmaz. Bir çalışmayı durduran tek şey kredilerdir: her tetikleyici ateşlemesi alanın bakiyesine karşı kontrol edilir ve alan kredileri bittiğinde (veya faturalandırma ayarlanmadığında) çalışmalar402 ile atlanır. Bu kendi kendini iyileştirir — zamanlama silahlı kalır ve bakiyeyi doldurduktan sonraki sonraki ateşleme normal şekilde çalışır, manuel devam etmeye gerek yoktur.
Otomasyonları daha sonra ekleme
Basit bir uygulama tetikleyici olmadan başlayabilir ve daha sonra bunları kazanabilir — günlük bir özet ekleyin, Stripe’ı bağlayın, temizliği çalıştırın. Bileşenin yaşam döngüsü (processMode) ve tetikleyicileri (triggers[]) bağımsızdır, bu nedenle uygulamanın geri kalanını yeniden yazmadan bunları değiştirebilirsiniz.