Şu aralar üzerinde çalıştığım bir web projem için cron job denilen “Zamanlanmış Görevler” aracılığı ile bir php dosya çalıştırmam gerekiyordu.Öyleki bu dosya istediğim süredeki aralıkta sorgulama yapıcaktı.Plesk Panel ve Cpanel kullanıcıları için ayrı ayrı yapılan bu işlemi bu yazımda değiniyorum.
Cronjob ile Belirli Saniye Aralığında Php Dosya Nasıl Çalıştırılır ?
Sadece olayı açıklayacağım ve kullanmış olduğunuz sunucu yönetim panellerinizden zamanlanmış görev nasıl eklenir, anlatmayacağım. Lütfen bu kısmı siz araştırın
1 Dakika Aralığı ile Çalıştırma
Yukarıdaki gibi bir örnek ile her 1 dakika arayla phpdosyaniz.php dosyası çalıştırılabiliyordu. Ancak belirttiğim gibi asıl amaç 20 saniye aralıkla bu dosyayı çalıştırabilmek.
20 Saniye Aralıkla Çalıştırma
Bunun için aynı dosyamı 3 farklı şekilde ve 1 dakika arayla çalışmaya programlıyorum. Ancak sonraki 2 tanesine bekleme uyguluyorum.
Araştırmalarımın neticesi sonucunda edindiğim bilgiye göre; eğer
ilk çalışan dosya 20 saniye boyunca işlemini tamamlamazsa, 20. saniyede çalışması gereken dosya çalışmıyormuş. Yani sistem izin vermiyormuş. Bu tamamen yanlış bir bilgi de olabilir. Bu konuda uzman bir arkadaşımız beni de aydınlatabilir. Ancak aşağıdaki şekilde uygularsanız, her 20 saniye arayla php dosyanızı çalıştırabilirsiniz.
*/1****sleep 20; /php -q -f /sistem-dizini/dosya.php
*/1****sleep 40; /php -q -f /sistem-dizini/dosya.php
Hımm, sunucu bilgisayarı bundan nasıl etkilenir, bilemem Eğer paylaşımsız ve sadece size ait bir sunucu bilgisayarı kullanıyorsanız, makine sadece bu dosyayla uğraşacağı ve işlemini sürekli kesecek web siteleri sorguları olmayacağından, problemsiz devam edecektir görüşündeyim. Ancak paylaşımlı bir sunucu üzerinde çalışıyorsanız, pek önermem.:D Aslında bu, PHP dosyanız içerisinde neler yaptığınıza da bağlı elbet.
Yazarbaz-mustafa
Yorumlar (3)
Yorum Ekle/usr/bin/wget "http://www.sitem.com/calis.php" > /dev/null 2>&1şeklinde test edebilirsiniz.