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.
| Tip | Aciklama | En uygun oldugu durum |
|---|---|---|
| Bir kez | Belirli bir tarih ve saatte tek sefer tetiklenir | Tek seferlik tasimalar, lansman gunu gorevleri, son tarih hatirlatmalari |
| Aralik | Sabit bir aralikta tekrar tekrar tetiklenir | Duzgun saglik kontrolleri, periyodik durum guncellemeleri |
| Cron | Bir cron ifadesi zamanlamasinda tetiklenir | Karmasik 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
scheduledtetikleyicisiyle bir kural olusturun veya duzenleyin.- Zamanlama bolumunde Bir kez secin.
- Tarih secicisinden tarih secin.
- Zaman secicisinden saat secin.
- Saat dilimini secin.
- Kurali kaydedin.
Parametreler
| Parametre | Tip | Zorunlu | Aciklama |
|---|---|---|---|
date | Tarih | Evet | Yurutme tarihi (YYYY-MM-DD) |
time | Saat | Evet | Yurutme saati (HH:MM, 24 saat formati) |
timezone | Saat dilimi | Evet | IANA 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_priorityile "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
scheduledtetikleyicisiyle bir kural olusturun veya duzenleyin.- Zamanlama bolumunde Aralik secin.
- Aralik degerini girin (pozitif tamsayi).
- Acilir menuden aralik birimini secin.
- Ilk yurutme hesaplamasi icin saat dilimini secin.
- Kurali kaydedin.
Parametreler
| Parametre | Tip | Zorunlu | Secenekler |
|---|---|---|---|
interval_value | Integer | Evet | 1 veya daha buyuk |
interval_unit | Enum | Evet | minutes, hours, days, weeks |
timezone | Saat dilimi | Evet | IANA saat dilimi tanimlayicisi |
Desteklenen araliklar
| Birim | Minimum | Maksimum | Ornekler |
|---|---|---|---|
| Dakika | 15 | 1440 (24 saat) | Her 15 dakikada, her 60 dakikada |
| Saat | 1 | 168 (7 gun) | Her 1 saatte, her 6 saatte, her 24 saatte |
| Gun | 1 | 90 | Her 1 gunde, her 7 gunde, her 30 gunde |
| Hafta | 1 | 12 | Her 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_days7'den buyuk - Eylem:
add_label"Bayat", atananlarasend_notification
Cron: standart cron ifadeleri
Cron zamanlamalari, hassas, saate hizalanmis zamanlama icin standart cron ifadelerini kullanir. Bu en esnek zamanlama tipidir.
Yapilandirma
scheduledtetikleyicisiyle bir kural olusturun veya duzenleyin.- Zamanlama bolumunde Cron secin.
- Metin alanina cron ifadesini girin.
- Saat dilimini secin.
- Arayuz onizleme olarak sonraki 5 yurutme zamanini gosterir.
- 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
| Alan | Izin verilen degerler | Ozel karakterler |
|---|---|---|
| Dakika | 0-59 | * , - / |
| Saat | 0-23 | * , - / |
| Ayin gunu | 1-31 | * , - / |
| Ay | 1-12 | * , - / |
| Haftanin gunu | 0-6 (Pzr=0) | * , - / |
Ozel karakterler
| Karakter | Anlam | Ornek |
|---|---|---|
* | Herhangi bir deger | * * * * * = her dakika |
, | Deger listesi | 1,15 * * * * = dakika 1 ve 15 |
- | Aralik | 9-17 * * * * = saat 9'dan 17'ye |
/ | Adim | */15 * * * * = her 15 dakikada |
Yaygin cron ifadeleri
| Ifade | Aciklama |
|---|---|
0 2 * * * | Her gun saat 02:00'de |
0 9 * * 1 | Her Pazartesi saat 09:00'da |
0 9 * * 1-5 | Hafta icileri saat 09:00'da |
0 0 1 * * | Her ayin ilk gunu gece yarisi |
0 */6 * * * | Her 6 saatte |
30 8 * * 1 | Her Pazartesi saat 08:30'da |
0 17 * * 5 | Her 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_days30'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_days7'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
- Zamanlama yapilandirmasinda Saat Dilimi acilir menusune tiklayin.
- Saat diliminizi arayin veya gozatin.
- 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 tipi | Sonraki calisma hesaplamasi |
|---|---|
| Bir kez | Gelecekteyse yapilandirilan tarih ve saat |
| Aralik | Son yurutme zamani + aralik suresi |
| Cron | Cron 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
- Zamanlayici, API sunucusunda bir arka plan goroutine'i olarak calisir.
- Her 60 saniyede tum aktif zamanlanmis kurallari kontrol eder.
- Sonraki calisma zamani gecmis her kural icin zamanlayici tetikleyiciyi calistirir.
- Kuralin kosullari projedeki tum eslesen is ogelerine karsi degerlendirilir.
- Eylemler kosullari gecen her ogede yurutulur.
- Sonraki calisma zamani yeniden hesaplanir ve saklanir.
Yurutme garantileri
| Ozellik | Garanti |
|---|---|
| Zamanlama dogrulugu | Zamanlanan saatin 60 saniyesi icinde |
| En-az-bir-kez teslimat | Evet. Sunucu yeniden baslarsa, kacirilan zamanlamalar baslangicta tetiklenir. |
| Tam-bir-kez teslimat | En iyi caba. Nadir durumlarda (yurutme sirasinda sunucu cokmesi), bir zamanlama iki kez tetiklenebilir. Eylemler idempotent olmalidir. |
| Eszamanli yurutme | Onceki 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:
- Projede Ayarlar > Otomasyonlar bolumine gidin.
- Kural listesini tetikleyici tipi Zamanlanmis olarak filtreleyin.
- Her kural zamanlama yapilandirmasini, sonraki calisma zamanini ve son yurutme durumunu gosterir.
- Tum Yurutme Gecmisi sayfasini goruntulemek icin bir kurala tiklayin.
Ilgili sayfalar
- Tetikleyiciler -- Zamanlanmis tetikleyici dahil tum tetikleyici tipleri
- Kosullar -- Zamanlamanin uzerinde hareket ettigi ogeleri filtreleme
- Eylemler -- Zamanlama tetiklendiginde ne olur
- Yurutme Gecmisi -- Gecmis zamanlanmis calismalari inceleme
- Gelismis Kaliplar -- Karmasik zamanlama stratejileri