HUSKY - Products Filter Professional for WooCommerce

Turbo Mod: Neden Otomatik Cron Güncellemeleri Başarısız Oluyor (Ve Nasıl Düzeltilir)

Sorun

Kullanıcılar WOOF’un Turbo Mod otomatik dosya yeniden oluşturma güvenilir bir şekilde çalışmıyor:

Belirtiler:

  • Turbo modu “Günlük cron” programı ile etkinleştirildi
  • WordPress cron işi woof_turbo_do_recreate_file oluşturulmuyor
  • Manuel dosya oluşturma mükemmel çalışıyor
  • Otomatik güncellemeler oluşturur kısmi/boş dosyalar
  • Dosya yeniden oluşturma hiçbir zaman tamamlanmıyor gibi görünüyor

Etki:

  • Müşterilere görüntülenen güncel olmayan filtre sayıları
  • Kötü kullanıcı deneyimi (mevcut olmayan ürünleri görmek)
  • Günlük manuel müdahale gerekli

Neden Olur: İki Temel Neden

1. Dosya Temizleme Yarış Durumu

WOOF turbo dosyayı yeniden oluşturduğunda şu süreci izler:

// Step 1: Clear the file
file_put_contents($turbo_file, ''); 

// Step 2: Write new data (takes time)
foreach ($products as $product) {
    // Heavy processing for each product...
    file_put_contents($turbo_file, $data, FILE_APPEND);
}

Sorun:
Sitenizde çok sayıda ürün (1000+) varsa, Adım 2 60-120 saniye sürebilir. Eğer PHP’nin max_execution_time (genellikle 30-60 saniye) aşılırsa, betik yarı yazılmış olarak sonlanır ve dosya boş veya kısmi.

2. WordPress Cron Gerçek Cron Değildir

WordPress cron (wp-cron.php) kritik sınırlamalara sahiptir:

Çalışması garanti değil – yalnızca birisi sitenizi ziyaret ettiğinde tetiklenir
Engellenebilir – önbelleğe alma eklentileri yürütmeyi engelleyebilir
Uzun süren görev yok – PHP yürütme sınırları nedeniyle devre dışı bırakıldı
Güvenilmez zamanlama – gecikebilir veya hiç çalışmayabilir

Gerçek dünya senaryosu:
Siteniz çoğunlukla mesai saatlerinde (9:00 – 18:00) trafik alıyor. Turbo yenilemeyi 03:00'e zamanlıyorsunuz. Sonuç: Asla çalışmaz çünkü kimse wp-cron.php'yi tetiklemek için 3'te uyanık olmaz.

Güvenilir Çözüm: Sunucu Taraflı Cron

WordPress cron'u ile değiştirin gerçek sunucu cron site trafiğinden bağımsız olarak çalışan.

Adım 1: WordPress Cron'u devre dışı bırak

Ekle wp-config.php (önce /* That's all, stop editing! */):

/**
 * Disable WordPress cron - we'll use server cron instead
 */
define('DISABLE_WP_CRON', true);

Adım 2: Sunucu Crontab Girişi Ekle

Seçenek A: PHP CLI Kullanarak (Önerilir)

# Open crontab editor
crontab -e

# Add this line (runs daily at 3 AM)
0 3 * * * php /var/www/html/yoursite/wp-cron.php >/dev/null 2>&1

Seçenek B: wget Kullanımı

# Add this line to crontab
0 3 * * * wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Seçenek C: curl Kullanarak

# Add this line to crontab
0 3 * * * curl -s https://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Değiştir /var/www/html/yoursite gerçek WordPress kurulum yolunuzla.

Adım 3: PHP Yürütme Sınırlarını Artırın

Ekle wp-config.php:

/**
 * Increase limits for cron tasks (turbo file generation)
 */
@ini_set('max_execution_time', 300); // 5 minutes
@ini_set('memory_limit', '512M');    // 512 MB RAM

Veya oluşturun .user.ini WordPress kök dizininizde:

max_execution_time = 300
memory_limit = 512M

Özet

Turbo cron hatalarının temel nedenleri:

  1. WordPress cron güvenilmezdir (trafik bağımlı)
  2. PHP yürütme süresi sınırları uzun süren görevleri sonlandırır

 

Önerilen çözüm:

  1. ✅ WP_CRON'u Devre Dışı Bırak
  2. ✅ Sunucu tarafı zamanlayıcı kullanın
  3. ✅ PHP limitlerini artırın
  4. ✅ Düşük trafik saatlerinde planlayın

Sonuç: Müşterileriniz için doğru ürün sayımlarıyla güvenilir, otomatik turbo dosya yeniden oluşturma.

Ref: https://pluginus.net/support/topic/woof_turbo_do_recreate_file-cron-job-is-missing/