PERBAIKI tabel SQL BESAR: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Kiat]

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 lain. WordPress.
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 WooCommerce Penjadwal Tindakan 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_actionscheduler"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 cukup banyak untuk tabel yang berisi tindakan terprogram 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 mengetahui bahwa jika Anda memiliki toko online WooCommerce, dan terhubung ke Toko Facebook melalui plugin "Forum Facebook WooCommerce", secara otomatis menyinkronkan produk dari WooCommerce dengan akun Toko Facebook Anda. Dan dia melakukannya setiap 15 menit. Entri SQL ini jika 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".

Sebagai pecinta teknologi, saya dengan senang hati menulis di StealthSettings.com sejak tahun 2006. Saya memiliki pengalaman yang kaya dalam sistem operasi: macOS, Windows, dan Linux, serta dalam bahasa pemrograman dan platform blogging (WordPress) dan toko online (WooCommerce, Magento, PrestaShop).

How to » Rasa ingin tahu » PERBAIKI tabel SQL BESAR: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Kiat]

1 pemikiran pada “PERBAIKI tabel SQL BESAR: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Kiat]"

  1. @Stealth
    Tak untuk hjælpen. Du redder min dag og shop. Jeg opdagede fdrst dette efter et nedbrud setelah min webshop. Mange plugins er mulai pada dumpe deres output i den tabel dan det fylder… Wooping 9.2GB tabel fik min host til at opgive hans ellers fine opp-tid. Nu trimmer jeg med den kode halus!
    Lige et spørgsmål på falde rebet denne tabel “wpb_action_scheduler_purge” default saya db'en eller skal jeg evt. ganti nama den til noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion?
    Tak untuk hjælpen og den artikel super halus

    Hillsen
    Jaringan

    membalas
Tinggalkan Komentar