ΕΠΙΔΙΌΡΘΩΣΤΕ ΤΡΑΠΕΖΟΥΣ πίνακες SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Συμβουλές WooCommerce]

WooCommerce έχει γίνει μια ευρέως χρησιμοποιούμενη ενότητα σε απευθείας σύνδεση καταστήματα. SEO, το προϊόν, η διαχείριση αποθέματος, ο καθαρός και διαισθητικός κώδικας, η απλή διεπαφή διαχείρισης και χιλιάδες πρόσθετα που αναπτύχθηκαν για το Woo, είναι μόνο μερικά από τα επιχειρήματα για τα οποία αξίζει μια ευκαιρία όταν σκέφτεστε να αναπτύξετε ένα ηλεκτρονικό κατάστημα.

Όπως κάθε CMS, το Woo δεν αποτελεί εξαίρεση στα περίεργα που μπορεί να προκύψουν σε διάφορα σενάρια χρήσης ή αλληλεπίδρασης με άλλα πρόσθετα. WordPress.
Σε διακομιστή πόρων υλικού αρκετά γενναιόδωρος, το παρατήρησα υπηρεσία βάσης δεδομένων (mysqld) αρχίζει να απαιτεί σχεδόν 80-90% μνήμης RAM. Ένα πολύ σοβαρό πρόβλημα, γιατί απλά δεν κατάλαβα από πού προέρχεται το σφάλμα 110 περιοδικά (110: Ο χρόνος σύνδεσης έληξε).
Κατά τη στενότερη επιθεώρηση των διαδικασιών SQL, βρήκα ότι μια βάση δεδομένων έχει δύο πίνακες με αρκετά μεγάλους όγκους: wp_actionscheduler_actions si wp_actionscheduler_logs.

κανονικά προγραμματισμένες ενέργειες του Προγραμματιστής δράσης WooCommerce θα πρέπει να διαγραφούν αυτόματα μετά την εκτέλεση τους. Αυτό δεν συμβαίνει πάντα και κολλάνε στο wp_actionsscheduler_actions με την κατάσταση: απέτυχε, ακυρώθηκε, εκκρεμής ή πλήρης.

Στην παραπάνω εικόνα, οι πίνακες "wp_actionsscheduler"Έχουν μόνο μόλις πάνω από 15 MB. Λυπάμαι που δεν με ενέπνευσε να τραβήξω ένα στιγμιότυπο οθόνης όταν είχαν 1.2 GB. Ωστόσο, τα 15 MB είναι αρκετά για έναν πίνακα που περιέχει τις προγραμματισμένες ενέργειες του WooCommerce.
Αυτοί οι "πρησμένοι" πίνακες προκύπτουν από αυτό Το WP-Cron δεν διαγράφει καταχωρήσεις που έχουν καθεστώς "απέτυχε","ακυρώθηκε"Και"πλήρης«. Κανονικά αυτές οι καταχωρήσεις πρέπει να διαγράφονται αυτόματα από τη βάση δεδομένων.
Οι προγραμματισμένες ενέργειες και η κατάστασή τους μπορούν να προβληθούν πολύ εύκολα και εύκολα WooCommerce →  Κατάσταση →  Προγραμματισμένες ενέργειες.

Πώς να καθαρίσετε τις υδρορροές "απέτυχε","ακυρώθηκε"Και"πλήρης"Σε wp_actionscheduler_actions si wp_actionscheduler_logs

Έχουμε πρόσβαση στη βάση δεδομένων μέσω του phpMyAdmin, και στη συνέχεια στο SQL εκτελούμε τις γραμμές εντολών με τη σειρά:

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

Μόλις καθαριστεί αυτός ο πίνακας, δεν σημαίνει ότι το πρόβλημα έχει επιλυθεί. Όπως είπα παραπάνω, η κύρια αιτία είναι η απενεργοποίηση της υπηρεσίας WP-Cron για διάφορους λόγους. Έτσι, οι καταχωρήσεις με κατάσταση "zombie" δεν μπορούν πλέον να διαγραφούν.
Είναι πολύ σημαντικό να γνωρίζετε ότι εάν διαθέτετε ηλεκτρονικό κατάστημα στο WooCommerce και είναι συνδεδεμένο με τα καταστήματα Facebook μέσω της προσθήκης "Facebook για το WooCommerce", Συγχρονίζει αυτόματα τα προϊόντα WooCommerce με τον λογαριασμό σας στο Facebook Shops. Και το κάνει σε περίπου 15 λεπτά. Εάν αυτές οι καταχωρήσεις SQL δεν ελέγχονται, μπορείτε να λάβετε αρκετές εκατοντάδες χιλιάδες γραμμές. "wc_facebook_regenerate_feed" σε "wp_actionscheduler_actions".

Αυτό το διάστημα είναι εντάξει για καταστήματα που έχουν μεγάλο αριθμό παραγγελιών και το απόθεμα προϊόντων Facebook Shops πρέπει να ενημερώνεται συνεχώς. Εάν εξακολουθείτε να πιστεύετε ότι αυτοί οι συγχρονισμοί μεταξύ του Facebook και του καταστήματός σας μπορούν να γίνουν μία φορά κάθε 24 ώρες, η παρακάτω γραμμή κώδικα μπορεί να σας βοηθήσει.

Ανοίξτε το αρχείο functions.php του θέματος WordPress / Το WooCommerce τρέχει το κατάστημά σας και προσθέστε:

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

Στη συνέχεια μπορούμε να ορίσουμε ένα διάστημα μιας εβδομάδας για αυτόματο καθαρισμό:

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

Μόλις αποθηκεύσετε αυτές τις αλλαγές, δεν θα έχετε προβλήματα με γιγάντιους πίνακες για το "wp_actionscheduler_actions".

πώς να » περιέργεια » ΕΠΙΔΙΌΡΘΩΣΤΕ ΤΡΑΠΕΖΟΥΣ πίνακες SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Συμβουλές WooCommerce]

Παθιασμένος με την τεχνολογία, μου αρέσει να δοκιμάζω και να γράφω σεμινάρια για λειτουργικά συστήματα macOS, Linux, Windows, σχετικά με WordPress, WooCommerce και διαμόρφωση διακομιστών ιστού LEMP (Linux, NGINX, MySQL και PHP). γράφω επάνω StealthSettings.com από το 2006 και λίγα χρόνια αργότερα άρχισα να γράφω στο iHowTo.Tips σεμινάρια και ειδήσεις σχετικά με συσκευές στο οικοσύστημα Apple: iPhone, iPad, Apple Παρακολουθήστε, HomePod, iMac, MacBook, AirPods και αξεσουάρ.

1 σκέψη για "FIX ΤΡΑΠΕΖΟΜΕΝΟΙ πίνακες SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Συμβουλές WooCommerce]"

  1. @Stealth
    Λήψη για hjælpen. Du redder min dag og shop. Jeg opdagede πρώτος έλεγχος και nedbrud af min webshop. Mange plugins er begyndt at dumpe deres output i den tabel og det fylder… Wooping 9.2 GB πίνακας για τη φιλοξενία έως τις προαιρετικές παραδόσεις. Nu trimmer jeg med den πρόστιμο κώδικα!
    Lige et spørgsmål på falde rebet denne πίνακας “wpb_action_scheduler_purge” er det en default i db'en eller skal jeg evt. μετονομασία den til noget i min (default hedder min db ikke 'wp_') eller er det måske en funktion;
    Λήψη για hjælpen og den super fine artikel

    Χίλσεν
    Νετζί

    απάντηση

Αφήστε ένα σχόλιο