Skip to main content
Otomasyonlar, bir uygulamanın kendi başına çalışan bölümleridir — bir zamanlamaya göre veya dış bir hizmet bir olay gönderdiğinde. Bunları 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ı

Burada iki şey olup bitiyor:
  • processMode yaş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.
İki parça bağımsızdır. Kalıcı bir sunucu cron’a sahip olabilir. Geçici bir işlem webhook’a sahip olabilir. İş yüküne uygun yaşam döngüsünü seçin, ardından istediğiniz kadar çok tetikleyici ekleyin.

processMode

Tetikleyiciler

Her tetikleyicinin bir name (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 belirtilen path 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.
Tetiklenen bileşenlerin üretimde boş makineleri yoktur — çağrı başına başlatılırlar ve çıkışta kapatılırlar.

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ışmalar 402 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.