1 Dakikanın Altında Cronjob Tanımlama

javascript tc kimlik doğrulama

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.

* * * * * curl http://www.google.com/

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

* * * * * sleep 300;curl http://www.google.com/

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

* * * * * sleep 600;curl http://www.google.com/

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.

Bir cevap yazın

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