Woocommerce Giderek daha fazla kullanılmış bir modül haline geldi Çevrimiçi dergi. SEO, Ürünlerin yönetimi, stoklar, temiz ve sezgisel kod, basit yönetim arayüzü ve WOO için geliştirilen binlerce pulluk, bir çevrimiçi mağaza geliştirmeyi düşündüğünüzde bir şansı hak ettiği argümanlardan sadece birkaçıdır.
Herhangi bir CMS gibi, her iki de Woo, farklı kullanım veya etkileşim senaryolarında başka WordPress eklentileriyle ortaya çıkabilecek olasılıkların istisnası değildir.
Kaynakları olan bir sunucuda donanım Oldukça cömert, bunu fark ettim veritabanı hizmeti (mysqld) neredeyse 80 talep etmeye başlar– RAM belleğinin% 90'ı. Oldukça ciddi bir sorun, çünkü 110 hatanın periyodik olarak nereden geldiğini anlamadım (110: Bağlantı zaman aşımına uğradı).
SQL süreçlerini daha dikkatli bir şekilde kontrol ederken, bir veritabanının iki önemli hacim tablosu olduğunu keşfettim: wp_actioncheduler_actions Ve wp_actioncheduler_logs.
Modda normal planlanan eylemler Ancak WooCommerce Eylem Zamanlayıcısı Yürütüldükten sonra otomatik olarak silinmelidir. Bu her zaman olmaz ve durumla wp_actionchedier_actions'ta engellenirler: arızalı- iptal edilmiş- askıda olması veya tamamlamak.
Tabloların üzerindeki resimde “wp_actionscheduler” Sadece var 15 MB'den biraz fazla. Üzgünüm, sahip olduklarında ekran görüntüsü yapmak için ilham almadım1.2 GB. Yine de, Woocommerce'in programlanmış eylemlerini içeren bir tablo için 15 MB yeterlidir.
Bu masalar “ŞİŞİRİLMİŞ” bunun nedeniyle sonuçlar WP-Cron girişleri silmiyor Bakım AU Durumu “arızalı“- “iptal edilmiş” Ve “tamamlamak“. Normalde bu girişler veritabanından otomatik olarak silinmelidir.
Planlanan eylemler ve bunların durumu çok kolay ve içinde görebiliriz Woocommerce →Durum →Zamanlanmış Eylemler.
İnfazları nasıl temizliyoruz “arızalı“- “iptal edilmiş” Ve “tamamlamak” İTİBARENwp_actioncheduler_actions Ve wp_actioncheduler_logs
Veritabanına PhpmyAdmin üzerinden erişiyoruz, ardından SQL'de komut satırlarını yürütüyoruz:
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'
Bu tablo temizlendikten sonra, sorunun çözüldüğü anlamına gelmez. Yukarıda söylediğim gibi, ana neden WP-chron hizmetinin çeşitli nedenleriyle devre dışı bırakmaktır. Böylece durumlara sahip girişler “zombi” Artık silinemezler.
Wocommerce'de bir çevrimiçi mağazanız varsa ve eklenti üzerinden Facebook mağazalarına bağlı olduğunu bilmek çok önemlidir. “Woocommerce için Facebook“, WooCommerce ürünlerini Facebook mağazalarınızla otomatik olarak senkronize eder. Ve yaklaşık 15 dakika sürüyor. Bu SQL girişleri kontrol edilmezse, birkaç yüz bin satır alabilirsiniz “wc_facebook_regenerate_feed” içinde “wp_actioncheduler_actions“.
Bu aralık, çok sayıda siparişi olan mağazalar için uygundur ve Facebook mağazalarının stokunun sürekli güncellenmesi gerekir. Facebook'tan bu senkronizasyonu hala düşünüyorsanız ve mağazanız her 24 saatte bir yapılabilirse, aşağıdaki kod satırı size yardımcı olabilir.
Mağazanızın çalıştığı WordPress / Woocommerce temasının Functions.php dosyasını açın:
add_filter( 'wc_facebook_feed_generation_interval', function(){ return HOUR_IN_SECONDS * 24; } );
Ardından otomatik temizlik için bir haftalık bir aralık ayarlayabiliriz:
add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
return WEEK_IN_SECONDS;
}
Bu değişiklikleri kurtardıktan sonra dev masalarla ilgili hiçbir sorun yaşamayacaksınız “wp_actioncheduler_actions”.
@Stealth
Yardım için teşekkürler. Günümü ve dükkanımı kurtarıyorsun. Bunu ilk olarak webshop'umun bir çökmesinden sonra keşfettim. Birçok eklenti çıktılarını o tabloda dökmeye başladı ve dolduruyor… Wooping 9.2GB masa, ev sahibimin aksi takdirde iyi PPP zamanından vazgeçmesine neden oldu. Şimdi ince kodla kırpıyorum!
Sadece ipi düşmekle ilgili bir soru bu masa “wpb_action_scheduler_purge” DB'de bir varsayılan mı yoksa muhtemelen mi? onu bir şeyle yeniden adlandırın (varsayılan benim db değil 'wp_’ ) yoksa bu bir özellik mi?
Yardım ve süper güzel makale için teşekkürler
Selamlama
Netz