Skip to content

Zamanlanmis Otomasyonlar

Zamanlanmis otomasyonlar, is ogesi olaylarina yanit olarak degil, belirtilen zamanlarda calisir. Periyodik bakim, tekrarlayan raporlar, temizlik gorevleri ve zamana duyarli is akislari icin idealdir. Zamanlanmis bir kural tetiklendiginde, motor kosullarini projedeki tum is ogelerine karsi degerlendirir ve eslesen her ogede eylemleri yurutur.

Zamanlama tipleri

SetGet, her biri farkli kullanim senaryolarina uygun uc zamanlama tipini destekler.

TipAciklamaEn uygun oldugu durum
Bir kezBelirli bir tarih ve saatte tek sefer tetiklenirTek seferlik tasimalar, lansman gunu gorevleri, son tarih hatirlatmalari
AralikSabit bir aralikta tekrar tekrar tetiklenirDuzgun saglik kontrolleri, periyodik durum guncellemeleri
CronBir cron ifadesi zamanlamasinda tetiklenirKarmasik tekrarlayan zamanlamalar, is saatleri is akislari

Bir kez: tek seferlik yurutme

Tek seferlik zamanlama, yapilandirilan tarih ve saatte tam olarak bir kez tetiklenir, ardindan devre disi kalir.

Yapilandirma

  1. scheduled tetikleyicisiyle bir kural olusturun veya duzenleyin.
  2. Zamanlama bolumunde Bir kez secin.
  3. Tarih secicisinden tarih secin.
  4. Zaman secicisinden saat secin.
  5. Saat dilimini secin.
  6. Kurali kaydedin.

Parametreler

ParametreTipZorunluAciklama
dateTarihEvetYurutme tarihi (YYYY-MM-DD)
timeSaatEvetYurutme saati (HH:MM, 24 saat formati)
timezoneSaat dilimiEvetIANA saat dilimi tanimlayicisi

Yurutme sonrasi davranis

Tek seferlik zamanlama tetiklendikten sonra:

  • Kuralin durumu Tamamlandi olarak degisir.
  • Yurutme Yurutme Gecmisi sayfasina kaydedilir.
  • Kural otomasyonlar listesinde gorunur kalir ancak tekrar tetiklenmez.
  • Kurali duzenleyerek ve yeni bir tarih ve saat ayarlayarak yeniden etkinlestirebilirsiniz.

Ornek: lansman gunu oncelik yukseltme

15 Nisan 2026 sabah 9:00'da bir urun lansmanindan once, tum acik ogeleri yukselt:

  • Tetikleyici: scheduled (bir kez: 2026-04-15 09:00, America/New_York)
  • Kosul: Durum grubu "started" VE oncelik "low" veya "medium"
  • Eylem: change_priority ile "high", add_comment "Lansman gunu icin oncelik yukseltildi"

Aralik: sabit periyotlarda tekrarlayan

Aralik zamanlamalari sabit bir periyotta tekrar tekrar tetiklenir. Aralik, son yurutme zamanindan itibaren olculur.

Yapilandirma

  1. scheduled tetikleyicisiyle bir kural olusturun veya duzenleyin.
  2. Zamanlama bolumunde Aralik secin.
  3. Aralik degerini girin (pozitif tamsayi).
  4. Acilir menuden aralik birimini secin.
  5. Ilk yurutme hesaplamasi icin saat dilimini secin.
  6. Kurali kaydedin.

Parametreler

ParametreTipZorunluSecenekler
interval_valueIntegerEvet1 veya daha buyuk
interval_unitEnumEvetminutes, hours, days, weeks
timezoneSaat dilimiEvetIANA saat dilimi tanimlayicisi

Desteklenen araliklar

BirimMinimumMaksimumOrnekler
Dakika151440 (24 saat)Her 15 dakikada, her 60 dakikada
Saat1168 (7 gun)Her 1 saatte, her 6 saatte, her 24 saatte
Gun190Her 1 gunde, her 7 gunde, her 30 gunde
Hafta112Her 1 haftada, her 2 haftada, her 4 haftada

WARNING

Minimum aralik 15 dakikadir. Otomasyon motorunda asiri yuk olusmasini onlemek icin daha kisa araliklar reddedilir.

Aralik kaymasi

Araliklar, sabit bir saat zamanindan degil, son yurutmenin tamamlanmasindan itibaren olculur. Bir yurutme 2 dakika surerse ve aralik 60 dakika ise, sonraki yurutme oncekinin baslamasindan 62 dakika sonra gerceklesir. Saate hizalanmis zamanlama icin bunun yerine cron ifadelerini kullanin.

Ornek: gunluk bayat oge kontrolu

Her 24 saatte bir bayat ogeleri kontrol et:

  • Tetikleyici: scheduled (aralik: 24 saat)
  • Kosul: Durum grubu "started" VE updated_at_age_days 7'den buyuk
  • Eylem: add_label "Bayat", atananlara send_notification

Cron: standart cron ifadeleri

Cron zamanlamalari, hassas, saate hizalanmis zamanlama icin standart cron ifadelerini kullanir. Bu en esnek zamanlama tipidir.

Yapilandirma

  1. scheduled tetikleyicisiyle bir kural olusturun veya duzenleyin.
  2. Zamanlama bolumunde Cron secin.
  3. Metin alanina cron ifadesini girin.
  4. Saat dilimini secin.
  5. Arayuz onizleme olarak sonraki 5 yurutme zamanini gosterir.
  6. Kurali kaydedin.

Cron ifade formati

SetGet standart 5 alanli cron formatini kullanir:

dakika (0-59)
saat (0-23)
ayin gunu (1-31)
ay (1-12)
haftanin gunu (0-6, Pazar=0)

Cron alan referansi

AlanIzin verilen degerlerOzel karakterler
Dakika0-59* , - /
Saat0-23* , - /
Ayin gunu1-31* , - /
Ay1-12* , - /
Haftanin gunu0-6 (Pzr=0)* , - /

Ozel karakterler

KarakterAnlamOrnek
*Herhangi bir deger* * * * * = her dakika
,Deger listesi1,15 * * * * = dakika 1 ve 15
-Aralik9-17 * * * * = saat 9'dan 17'ye
/Adim*/15 * * * * = her 15 dakikada

Yaygin cron ifadeleri

IfadeAciklama
0 2 * * *Her gun saat 02:00'de
0 9 * * 1Her Pazartesi saat 09:00'da
0 9 * * 1-5Hafta icileri saat 09:00'da
0 0 1 * *Her ayin ilk gunu gece yarisi
0 */6 * * *Her 6 saatte
30 8 * * 1Her Pazartesi saat 08:30'da
0 17 * * 5Her Cuma saat 17:00'de
0 9,17 * * *Gunde iki kez saat 09:00 ve 17:00'de
0 0 15 * *Her ayin 15'inde gece yarisi

Ornek: her gece saat 02:00'de temizlik

30 gunden eski tamamlanmis ogeleri her gece arsivle:

  • Tetikleyici: scheduled (cron: 0 2 * * *, saat dilimi: UTC)
  • Kosul: Durum grubu "completed" VE updated_at_age_days 30'dan buyuk
  • Eylem: archive

Ornek: her Pazartesi haftalik rapor

Proje yoneticisine bayat ogelerin haftalik raporunu gonder:

  • Tetikleyici: scheduled (cron: 0 9 * * 1, saat dilimi: America/New_York)
  • Kosul: Durum grubu "started" VE updated_at_age_days 7'den buyuk
  • Eylem: Proje yoneticisine ozet ile send_notification, add_label "Dikkat Gerekli"

Ornek: aylik arsiv

Her ayin ilk gununde iptal edilmis ogeleri arsivle:

  • Tetikleyici: scheduled (cron: 0 0 1 * *, saat dilimi: Europe/London)
  • Kosul: Durum grubu "cancelled"
  • Eylem: archive

Saat dilimi secimi

Tum zamanlama tipleri bir saat dilimi gerektirir. Saat dilimi, zamanlamanin yerel saate gore ne zaman tetiklenecegini belirler.

Saat dilimi secme

  1. Zamanlama yapilandirmasinda Saat Dilimi acilir menusune tiklayin.
  2. Saat diliminizi arayin veya gozatin.
  3. IANA saat dilimi tanimlayicisini secin (ornegin, America/New_York, Europe/Istanbul, Asia/Tokyo).

Yaz saati uygulamasi

SetGet, yaz saati uygulamasi (DST) gecislerini otomatik olarak yonetir. Saatler degistiginde:

  • "Ileri atla" gecisi sirasinda saat 02:00 icin ayarlanmis bir zamanlama saat 03:00'te (bir sonraki gecerli zaman) tetiklenir.
  • "Geri al" gecisi sirasinda saat 01:30 icin ayarlanmis bir zamanlama bir kez tetiklenir (iki kez degil).

Sonraki calisma hesaplamasi

Otomasyon ayarlari sayfasi, her zamanlanmis kural icin sonraki zamanlanmis calismayi gosterir. Bu, mevcut zaman, zamanlama yapilandirmasi ve saat diliminden hesaplanir.

Zamanlama tipiSonraki calisma hesaplamasi
Bir kezGelecekteyse yapilandirilan tarih ve saat
AralikSon yurutme zamani + aralik suresi
CronCron ifadesinden sonraki eslesen zaman

Bir kural durdurulmussa, sonraki calisma alani bir zaman yerine "Durduruldu" gosterir.

Arka plan zamanlayicisi

SetGet arka plan zamanlayicisi, zamanlanmis tetikleyicileri calistirmaktan sorumludur.

Nasil calisir

  1. Zamanlayici, API sunucusunda bir arka plan goroutine'i olarak calisir.
  2. Her 60 saniyede tum aktif zamanlanmis kurallari kontrol eder.
  3. Sonraki calisma zamani gecmis her kural icin zamanlayici tetikleyiciyi calistirir.
  4. Kuralin kosullari projedeki tum eslesen is ogelerine karsi degerlendirilir.
  5. Eylemler kosullari gecen her ogede yurutulur.
  6. Sonraki calisma zamani yeniden hesaplanir ve saklanir.

Yurutme garantileri

OzellikGaranti
Zamanlama dogruluguZamanlanan saatin 60 saniyesi icinde
En-az-bir-kez teslimatEvet. Sunucu yeniden baslarsa, kacirilan zamanlamalar baslangicta tetiklenir.
Tam-bir-kez teslimatEn iyi caba. Nadir durumlarda (yurutme sirasinda sunucu cokmesi), bir zamanlama iki kez tetiklenebilir. Eylemler idempotent olmalidir.
Eszamanli yurutmeOnceki yurutmesi hala devam ediyorsa bir kural tekrar tetiklenmez.

TIP

Zamanlanmis otomasyon eylemlerini idempotent olacak sekilde tasarlayin. Ornegin, "mevcut degilse etiket ekle" birden fazla kez calistirmak icin guvenlidir, "etiket degistir" ise degildir.

Zamanlanmis kurallari izleme

Zamanlanmis kurallarin durumunu ve gecmisini incelemek icin:

  1. Projede Ayarlar > Otomasyonlar bolumine gidin.
  2. Kural listesini tetikleyici tipi Zamanlanmis olarak filtreleyin.
  3. Her kural zamanlama yapilandirmasini, sonraki calisma zamanini ve son yurutme durumunu gosterir.
  4. Tum Yurutme Gecmisi sayfasini goruntulemek icin bir kurala tiklayin.

Ilgili sayfalar