MEMPERBAIKI tabel SQL BESAR: wp_actionscheduler_actions & wp_actionscheduler_logs [Tips WooCommerce]

WooCommerce itu telah menjadi modul yang banyak digunakan toko online. SEO, produk, manajemen inventaris, kode yang bersih dan intuitif, antarmuka administrasi yang sederhana, dan ribuan plugin yang dikembangkan untuk Woo, hanyalah beberapa argumen yang layak untuk dicoba ketika Anda berpikir untuk mengembangkan toko online.

Seperti CMS lainnya, Woo tidak terkecuali dengan keanehan yang dapat terjadi dalam berbagai skenario penggunaan atau interaksi dengan plugin WordPress lainnya.
Di server sumber daya perangkat keras cukup murah hati, saya perhatikan itu layanan database (mysqld) mulai membutuhkan hampir 80-90% RAM. Masalah yang cukup serius, karena saya tidak mengerti dari mana kesalahan 110 berasal secara berkala (110: Waktu koneksi habis).
Pada pemeriksaan lebih dekat proses SQL, saya menemukan bahwa database memiliki dua tabel dengan volume yang cukup besar: wp_actionscheduler_actions si wp_actionscheduler_logs.

biasanya tindakan terjadwal dari Penjadwal Tindakan WooCommerce mereka harus dihapus secara otomatis setelah dijalankan. Ini tidak selalu terjadi, dan mereka terjebak dalam wp_actionsscheduler_actions dengan status: gagal, dibatalkan, tertunda atau lengkap.

Pada gambar di atas, tabel "wp_actionsscheduler"Mereka hanya punya lebih dari 15 MB. Maaf saya tidak terinspirasi untuk mengambil tangkapan layar ketika mereka memilikinya 1.2 GB. Meski begitu, 15 MB sudah cukup untuk tabel yang berisi tindakan yang diprogram dari WooCommerce.
Tabel "bengkak" ini dihasilkan dari hal itu WP-Cron tidak menghapus entri yang berstatus "gagal","dibatalkan"Dan"lengkap“. Biasanya entri ini secara otomatis dihapus dari database.
Tindakan terjadwal dan statusnya dapat dilihat dengan sangat mudah dan masuk WooCommerce →  Status →  Tindakan Terjadwal.

Cara membersihkan selokan "gagal","dibatalkan"Dan"lengkap"di wp_actionscheduler_actions si wp_actionscheduler_logs

Kami mengakses database melalui phpMyAdmin, lalu di SQL kami menjalankan baris perintah secara bergantian:

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'

Setelah tabel ini dibersihkan, bukan berarti masalahnya sudah teratasi. Seperti yang saya katakan di atas, penyebab utamanya adalah penonaktifan layanan WP-Cron karena berbagai alasan. Dengan demikian entri dengan status "zombie" tidak dapat lagi dihapus.
Sangat penting untuk diketahui bahwa jika Anda memiliki toko online di WooCommerce, dan terhubung ke Toko Facebook melalui plugin "Facebook untuk WooCommerce", Ini secara otomatis menyinkronkan produk WooCommerce dengan akun Toko Facebook Anda. Dan dia melakukannya dalam waktu sekitar 15 menit. Jika entri SQL ini tidak dikontrol, Anda bisa mendapatkan beberapa ratus ribu baris. "wc_facebook_regenerate_feed" di "wp_actionscheduler_actions".

Interval ini tidak masalah untuk toko yang memiliki banyak pesanan dan stok produk Toko Facebook perlu terus diperbarui. Jika Anda masih berpikir bahwa sinkronisasi antara Facebook dan toko Anda ini dapat dilakukan setiap 24 jam, baris kode di bawah ini dapat membantu.

Buka file functions / php dari tema WordPress / WooCommerce tempat toko Anda berjalan dan tambahkan:

add_filter( 'wc_facebook_feed_generation_interval', function(){ return HOUR_IN_SECONDS * 24; } );

Selanjutnya kita dapat mengatur interval satu minggu untuk pembersihan otomatis:

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
 return WEEK_IN_SECONDS;
}

Setelah Anda menyimpan perubahan ini, Anda tidak akan mengalami masalah dengan tabel raksasa untuk "wp_actionscheduler_actions".

MEMPERBAIKI tabel SQL BESAR: wp_actionscheduler_actions & wp_actionscheduler_logs [Tips WooCommerce]

Tentang Penulis

Stealth

Bergairah tentang segala hal gadget dan IT, saya menulis dengan senang hati secara sembunyi-sembunyisettings.com sejak 2006 dan saya ingin menemukan hal-hal baru bersama Anda tentang komputer dan sistem operasi macOS, Linux, Windows, iOS dan Android.

Tinggalkan Komentar