Php Dersleri

Php Dosyalarını Belirli Zamanda Çalıştırma [Cron Job İşlemleri]

php dersleri

Eğer sitenizde belirli aralıklarla yapılmasını istediğiniz bir şey varsa Cron kullanabilirsiniz. Kullandığınız dilde (PHP, ASP) zamanı kontrol ettirerek de görev çalıştırabilirsiniz. Çalıştıracağınız dosya için zamanlama seçenekleri de bulunmaktadır. Böylelikle zamanlayıcıyı kullanarak belirli aralıklarda (gün, saat, dakika, hafta, ay… gibi) dosyanızı çalıştırıp işlemlerinizi yapabilirsiniz.

Cron job, bir çok hosting firması tarafından kullanılmaktadır. Fakat kimi hosting firmaları da bu özelliği açmayarak kendilerinde güvenlik önemleri almaktadır. Böylesi bir durumla karşılaştığınızda dışarıdan hizmet sağlayan bir cron hizmleti kullanmanız gerekmektedir. Bu makalemde de cron-job.org sitesi üzerinden dosyaların nasıl zamanlanacağını anlatacağım.

İlk olarak cron-job.org sitesine girip bir üyelik oluşturuyoruz. Üyelik oluşturma durumundan sonra işlem yapacağımız kontrol paneline yönlendirileceğiz. Kontrol panelinden çalıştıracağımız dosyalar için bilgiler girmemiz gerecektir.

Kontrol panelinde yer alan Cronjobs sekmesini tıklatıyoruz. Buradan Create cronjob seçeneğini seçerek dosya ve zamanlama bilgilerini gireceğiz.

1. Adım – Site Tanımlama

İlk adım olarak web sitemizi tanımlıyoruz. http ve https olarak url değerini girmemiz gerekmektedir. Htaccess gibi şifreleme yöntemi ile girilecek bir sayfa ise de alttaki seçenekte yer alan Username ve Password alanlarını doldurmamız gerekmektedir.

Title kırmına, oluşturacağımız cron için bir isim veriyoruz. Böylelikle kontrol panelinde hangi crona ait bilgilere ulaşmak istersek ayır edici tanımlama yapmış oluyoruz.

Address kısmına, çalıştırmak istediğiniz php dosyasının tam yolunu yazıyoruz. http ve https özelliklerine göre ur değerini girmeniz gerekmektedir.

Requires http authentication kısmına, şifreli sayfalarınız için tanımlanan kullanıcı adı ve şifre değerlerini giriyoruz. Dosya için şifreleme tanımı yoksa boş bırakıyoruz.

2. Adım – Zamanlama

Zamanlama kısmında bizi 4 seçenek karşılamaktadır. Yukarıda yazmış olduğumuz url de yer alan dosyanın hangi zaman aralıklarında çalışmasını istiyorsanız size uygun olan seçeneği seçmeniz gerekmektedir.

1. seçenek, 1-2-5-10-15-30 dakikada bir çalıştırmak için bu seçeneği seçmeniz gerekmektedir. Tanımlanan zaman dilimleri içerisinde her x dakikada bir dosya çalışacaktır.

2. seçenek, hergün saat kaçta çalışmasını istiyorsanız bu seçeneği seçmelisiniz. Örneğin, tanımladığınız dosyanın her gün saat 12.00’da çalışmasını istiyorsanız bu seçeneği seçip saat değerini girmelisiniz.

3. seçenek, aylık olarak tanımlanan bir zamanlamadır. Örneğin, ayın 1. de saat 12.00 gibi bir zamanda çalıştırmak istediğiniz de bu seçeneği seçip gerekli tanımlamayı yapmanız gerekmektedir.

4. seçenek, gün, hafta, ay, saat, dakika gibi detaylı bilgi seçebileceğiniz bir zamanlama türüdür. Buradan daha detaylı bir tanımlama yaparak belirlediğiniz dosyanın çalışmasını sağlayabilirsiniz.

3. Adım – Bildirimler


Bildirimler bölümü hazırlamış olduğunuz cron için size dönüş yapacak bölümdür. Bu seçeneklerden uygun olanlarını seçmeniz yeterli olacaktır.

1. seçenek, Başarısız olaylarda bildirim almak için işaretlenmektedir.
2. seçenek, Başarısız olan cron’un sonrasında çalışması durumunda işaretlenmektedir.
3. seneçek, Başarısız sonuçlar sonucunda iptal edilen/devre dışı bırakılan bildirimler için kullanılmaktadır.

Bu seçeneklerdeki bilgilerle tanımlanan cronlar hakkında olumsuz yaşanan durumlarda mail ile bilgi sahibi olabilirsiniz.

4. Adım – Sonuç

Gerekli ayarlamaları yaptıktan sonra Create cronjob butonunu tıklatarak belirlemiş olduğumuz şartlar doğrultusunda cronun çalışmasını sağlayabiliriz. Bildirimler ile cronun çalışma durumunu takip edebilirsiniz. Cron’u oluşturduktan sonra kontrol paneline yönlendirileceksiniz. Bu panelde cronun çalışma geçmişini, en son ne zaman çalıştığı ve sonraki çalışma zamanının ne zaman olacağı konusunda bilgi sahibi olabilirsiniz. Üzerinden düzenlemeler yapabileceğiniz gibi cronu silme işlemini de yapabilirsiniz.

Unutulmaması gerekilenler!

  • Hazırlamış olduğunuz cron, sahip olduğunz hosting paket değerlerinizle örtüşmelidir. Yani cpu ve ram değerlerini tavanda tutmamasına dikkat ediniz. Hizmet aşımı durumlarda hosting şirkerleri hesabınızı belirli oranda kısıtlayabilir yada askıya alabilirler.
  • Tanımladığınız dosyada olabildiğinde az işlemlerin yapılmasına özen gösterin. Tüm işlemlerinizi tek bir dosyada tutmak yerine birden fazla dosyada işlemlerinizi bölüştürmenizde fayda var. Tabi bu bölüşüm birbirleriyle alakalı olmayan kod blokları olmalıdır. Aksi durumda bir çok sorunla karşılaşabilirsiniz.
  • Cronu oluşturmadan önce kodlarınızın sağlıklı bir şekilde çalıştığından emin olun. Gereksiz error_log hatalarından kaçının.
  • Dakikalık kullanımlar yerine olabildiğince günlük yada daha fazla süreçte çalışma seçeneklerini seçmeye özen gösterin. Örneğin temizlemek istediğiniz bir veri varsa ve bu veri bir karışıklığa yol açmıyorsa, dakika bazlı temizlemek yerine günlük temizlemeyi tercih ediniz.

Bir önceki yazım olan Php ile Önceki ve Sonraki Konu Mantığı [NextPost] başlıklı makalemde nextpost, önceki konu ve önceki sonraki hakkında bilgiler vermekteyim.

İlgilizi Çekecek Konular

Yazı İçerisindeki Kelime/Harf Sayma [Substr_count Fonksiyonu]

ibrahim Çevrük

JavaScript Confirm Dialog Kutusu İle İşlem Doğrulama

ibrahim Çevrük

Php ile MySQL Veritabanı Bağlantısı Oluşturmak #2

ibrahim Çevrük

Yorum Giriniz