Cron Job Nedir?
İngilizce: Cron Job
Cron job, Linux/Unix sistemlerde belirli saat veya aralıkta çalışan yedekleme, rapor veya senkronizasyon gibi zamanlanmış görevdir.
Cron Job Nedir?
Cron job, belirli zamanlarda otomatik çalışan komut veya script’tir. Günlük veritabanı yedeği almak, her gece rapor üretmek, saat başı stok senkronizasyonu yapmak veya süresi dolan oturumları temizlemek için kullanılabilir.
Cron İfadesi Nasıl Okunur?
Klasik cron formatında beş alan bulunur: dakika, saat, ayın günü, ay ve haftanın günü. Örneğin 0 3 * * * her gün 03:00’te çalışır. */15 * * * * ise her 15 dakikada bir çalıştırma anlamına gelir.
Kullanımda Dikkat Edilecekler
- Görev idempotent olmalı; iki kez çalışırsa veri bozmamalıdır.
- Log, hata bildirimi ve başarısızlık alarmı tanımlanmalıdır.
- Uzun süren işler aynı görevin üst üste binmesine neden olmamalıdır.
- Saat dilimi ve yaz saati değişiklikleri özellikle finansal raporlarda hesaba katılmalıdır.
- Dağıtık sistemlerde tek sefer çalışması gereken işler için lock mekanizması gerekir.
Event-Driven Yaklaşımla Farkı
Cron zamana göre çalışır; event-driven mimaride görev bir olay gerçekleşince tetiklenir. Örneğin “her gece tüm siparişleri kontrol et” cron mantığıdır; “ödeme tamamlanınca fatura oluştur” olay tabanlıdır. Birçok sistemde iki yaklaşım birlikte kullanılır.
İş Dünyasında Kullanımı
Cron job, otomasyon projelerinde düzenli bakım ve veri akışları için pratik bir araçtır. Kritik işlerde yalnızca crontab satırı yeterli değildir; izleme, retry, yetki sınırı ve manuel yeniden çalıştırma prosedürü de tasarlanmalıdır.
İlgili Terimler
Toplu işleme, verileri anlık değil belirlenmiş zamanlarda paketler halinde çalıştırarak rapor, aktarım veya dönüşüm üretir.
Event-Driven (Olay Tabanlı)Event-driven mimari, sistemlerin sipariş oluştu, ödeme alındı gibi olaylara bağımsız bileşenlerle tepki vermesini sağlar.
OtomasyonOtomasyon, tekrarlayan iş süreçlerinin insan müdahalesi olmadan yazılım veya teknoloji aracılığıyla otomatik olarak yürütülmesidir.
Trigger (Tetikleyici)Trigger, belirli bir olay veya koşul gerçekleştiğinde veritabanı işlemi, entegrasyon ya da otomasyon adımını başlatan tetikleyicidir.