WP-Cron, WordPress içindeki zamanlanmış görev sistemidir. Varsayılan çalışma, site ziyaretleriyle tetiklenebildiği için düşük trafikte yayın veya bakım işi planlanan saatten sonra çalışabilir. Sistem cron görevi, belirli aralıklarla işi başlatmanıza yardım eder; ancak her hosting hesabı aynı zamanlayıcı veya shell erişimini sunmaz. Önce hangi görevin geç kaldığını belirleyin. Sorun uygulama hatasıysa yalnızca daha sık tetiklemek çözüm sağlamaz.
Başlamadan önce
Beklenen işleri listeleyin: zamanlanmış yazı, yedek, e-posta veya mağaza arka plan işlemleri. Kullanılacak PHP komutunun ve WordPress dizininin doğru olduğunu sağlayıcı panelinden doğrulayın. Görev çalıştıran hesabın dosya erişimini kontrol edin. Staging ve canlı görevlerinin ayrıldığından emin olun. Yoğun veya uzun görevlerde çakışma ve sağlayıcının izin verdiği en kısa aralığı değerlendirin.
Uygulama adımları
1. Mevcut görev durumunu kaydedin
Geç kalan işin planlanan zamanı, hata kaydı ve son çalışmasını kontrol edin. WP-CLI varsa cron event list çıktısını yalnızca inceleme için kullanın.
Kontrol: Geç kalma ile sürekli hata verme birbirinden ayrılmalıdır. Kuyruk hatalıysa tetikleme sıklığını artırmadan önce hata nedenini çözün.
2. Uygun tetikleme yöntemini seçin
Sağlayıcının cron panelinde web isteği veya CLI yöntemi destekleniyor mu öğrenin. CLI ve web PHP sürümlerinin farklı olabileceğini kontrol edin.
Kontrol: Seçilen yöntem WordPress kurulumunu ve gerekli uzantıları bulmalıdır. İnternetteki başka siteye ait mutlak dosya yolunu kendi görevine kopyalamayın.
3. Zamanlayıcıyı önce doğrulayın
Yeni cron görevinin gerçekten çalıştığını güvenli günlük veya test olayıyla sınayın. Çıktıyı herkese açık dizine yazmayın.
Kontrol: Başlangıç saati, başarı durumu ve çalışma süresi görünmelidir. Görev tetiklenmiyorsa kullanıcı, yol ve panel aralığını inceleyin.
4. Mükerrer ziyaretçi tetiklemesini yönetin
Gerçek cron çalıştığı doğrulandıktan sonra gerekiyorsa DISABLE_WP_CRON ile ziyaretçi tetiklemesini kapatın. Aynı işi birden fazla zamanlayıcıya bırakmayın.
Kontrol: Görevler trafik olmadan da beklenen aralıkta işlenmelidir. Sadece sabiti ekleyip zamanlayıcı kurmazsanız işler gecikebilir.
Sonucu nasıl doğrularsınız?
Deneme yazısını kısa süre sonrasına planlayın ve siteye trafik üretmeden sonucun oluşmasını izleyin. Birkaç çalışma döngüsünü kontrol edin; ilk başarılı çalışmayla yetinmeyin. Uzun süren görev bitmeden yenisinin başlayıp başlamadığını değerlendirin. Saat dilimi, WordPress zamanı ve sunucu zamanı farkını not edin. Mağaza bildirimlerinde aynı mesajın yinelenmediğini ve bekleyen görevlerin zamanla azaldığını kontrol edin.
Sorun devam ederse
Görev çalışıyor fakat iş tamamlanmıyorsa uygulama günlüğüne ve görev kuyruk ekranına bakın. CLI tarafında eksik uzantı, yanlış PHP sürümü veya belleğe bağlı hata olabilir. Dış servis bekleyen işlerde ağ veya sağlayıcı sınırı devreye girebilir. Görev çıktısındaki hata metnini saklayın; kimlik bilgilerini maskeleyin. Tetiklemeyi çok sık ayarlamak kaynak tüketimini artırabilir ve altta yatan hatayı düzeltmez.
Uygulama örneği
Düşük trafikli bir blogdaki sabah yayını geç görünüyorsa önce yazının doğru saat diliminde planlandığını kontrol edin. Sonra test olayıyla sistem zamanlayıcısını doğrulayın. Trafik gelmesini beklemeden olay işleniyorsa tetikleme düzelmiştir. Aynı sırada yedek eklentisinin daha uzun görevlerini ayrı gözlemleyin.
Sık sorulan sorular
Her dakika çalıştırmak daha iyi midir?
İş türü, süre ve sağlayıcı sınırına göre değişir. Uzun veya ağır işlerde sık tetikleme çakışma ve kaynak sorunları oluşturabilir.
WP-Cron tamamen kapanıyor mu?
DISABLE_WP_CRON ziyaretçi kaynaklı tetiklemeyi etkiler. Planlı işleri güvenilir dış tetiklemeyle sürdürmeniz gerekir; görev sisteminin ihtiyacı ortadan kalkmaz.
Bakım ve kabul kaydı
Zamanlayıcı için bakım notuna çalışma aralığını, komutun gerekli dizinini, kullanılan PHP sürümünü ve beklenen görevi yazın. Gizli anahtar içeren tam komutu paylaşılan dokümana koymayın. İşin tamamlanma süresi artarsa yeni tetiklemenin önceki işlemle çakışıp çakışmadığını gözlemleyin. Görev kuyruğundaki başarısız kayıtları yalnızca temizlemek nedenini çözmez. Test olayını sonunda kaldırın ve canlıda beklenen yayın veya bildirim saatinin birkaç döngü boyunca tutarlı kaldığını kontrol edin.
İlgili rehberler
Süreç özeti
WP-Cron görevlerini gerçek cron ile çalıştırma için kontrol sırası
| Adım | Kontrol |
|---|---|
| 1 | Mevcut görev durumunu kaydedin |
| 2 | Uygun tetikleme yöntemini seçin |
| 3 | Zamanlayıcıyı önce doğrulayın |
| 4 | Mükerrer ziyaretçi tetiklemesini yönetin |
