1 Dakikanın Altında Cronjob Tanımlama

Cronjob default olarak en az 1 dakikalık aralıklarla çalışmakta. Hatta serverlar sunucu yükünü hafifletmek için bunu en az 10 dakikaya indirmekteler. Bu durumu düzeltmenin sunucuya müdahale etmeden basitçe bir yolu mevcut.

Cronjob hayat kurtaran, websitelerinin otomasyonunu sağlayan bir sistem. Fakat çok sık çalışma ihtiyacı duyduğumuz anlarda maalesef doğrudan bir çözüm üretemiyor. Bir çok sunucu cron çalışma sıklığını 10 dakika gibi yüksek sürelere çıkarıyor ki sunucu yükünü hafifletsin. Bu durumu çözmek için cron kütüphanesinde gelen sleep fonksiyonunu mantıkla birşeltireceğiz.

sleep fonksiyonu; cronjob’un ilk çalışmasında basitçe beklemesine olanak veriyor.

Örneğin; sunucumuz minimum 15 dakika ile sınırlamış olsun. Her 15 dakikada çalışan bir cronjob‘umuz mevcut. Bunu her 5 dakikada bir yapmak için iki adet daha aynı cronjob parametresinden giriyoruz, fakat başına bekleme koyarak.

Sleep komutu ardından kaç dakika beklenecekse saniye cinsinden o değeri alır.

Bu kod ilk job, her 15 dakikada bir çalışıyor.

Bu ikinci job; başlamak için 5 dakika bekliyor, sonra her 15 dakikada bir çalışıyor.

Bu üçücü job; başlamak için 10 dakika bekliyor, sonra her 15 dakikada bir çalışıyor.

3 job’u da aynı anda başlattığımızda ilki hemen, ikincisi 5 dakika gecikmeli, 3.sü ise 10 dakika gecikmeli başlayacak. Böylece her 5 dakikada bir çalışan bir otomasyona sahip olmuş olduk.

Bu mantığı isterseniz 1 dakikanın altında çalışmalara da uygulayabilirsiniz Fakat çok sık yaptığınız taktirde bir cron bitmeden iknicisi çalışmaya başlayacak, sunucuya oldukça yük bindireceksiniz. Aklınızda bulunsun.

Beğen  
Yazar

Makine mühendisliği mezunu bir yazılım uzmanıyım. Otomasyon ve back-end programlama üzerine çalışmaktayım. .net, MVC, ve PHP ile web, masaüstü, ve mobil uygulamalar geliştirmekteyim.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir