תקן טבלאות SQL ענקיות: wp_actionscheduler_actions & wp_actionscheduler_logs [עצות WooCommerce]

WooCommerce זה הפך למודול בשימוש נרחב חנויות מקוונות. קידום אתרים, מוצר, ניהול מלאי, קוד נקי ואינטואיטיבי, ממשק adminהוראות פשוטות ואלפי התוספים שפותחו עבור Woo הם רק חלק מהסיבות שבגללן שווה לנסות כשחושבים על פיתוח חנות מקוונת.

כמו כל CMS, Woo אינה יוצאת דופן למוזרויות שיכולות להתרחש בתרחישי שימוש או אינטראקציה שונים עם תוספים אחרים. WordPress.
בשרת משאבים חומרה די נדיב, שמתי לב לזה שירות מסדי נתונים (mysqld) מתחיל לדרוש כמעט 80-90% מה- RAM. בעיה די רצינית, כי פשוט לא הבנתי מאיפה מגיעה שגיאה 110 מעת לעת (110: תם הזמן הקצוב לחיבור).
בבדיקה מדוקדקת יותר של תהליכי SQL, מצאתי כי מסד נתונים כולל שתי טבלאות עם נפחים גדולים למדי: wp_actionscheduler_actions si wp_actionscheduler_logs.

בדרך כלל פעולות מתוזמנות של מתזמן פעולות WooCommerce יש למחוק אותם אוטומטית לאחר ביצועם. זה לא תמיד קורה, והם נתקעים ב wp_actionsscheduler_actions עם הסטטוס: נכשל, מבוטל, תלוי ועומד או להשלים.

פעולות מתזמן טבלת sql

בתמונה למעלה הטבלאות "מתזמן wp_actionsschuler"יש להם רק קצת יותר מ 15 מגה בייט. אני מצטער שלא קיבלתי השראה לצילום מסך כשהיה להם 1.2 GB. למרות זאת, מספיק 15 מגהבייט לטבלה שמכילה את הפעולות המתוזמנות של 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'
מחק מ-sql

לאחר ניקוי טבלה זו, אין פירוש הדבר שהבעיה נפתרה. כפי שאמרתי לעיל, הסיבה העיקרית היא השבתת שירות WP-Cron מסיבות שונות. לפיכך, כבר לא ניתן למחוק ערכים עם סטטוס "זומבי".
חשוב מאוד לדעת שאם יש לך חנות מקוונת ב- WooCommerce, והיא מחוברת לחנויות פייסבוק דרך התוסף "פייסבוק ל- WooCommerce", זה מסנכרן באופן אוטומטי את מוצרי WooCommerce עם חשבון חנויות הפייסבוק שלך. והוא עושה את זה תוך 15 דקות בערך. אם ערכי SQL אלה אינם נשלטים, תוכל לקבל כמה מאות אלפי שורות. "wc_facebook_regenerate_feed"ב-"wp_actionscheduler_actions

פייסבוק ל- WooCommerce

מרווח זה תקין לחנויות שיש להם מספר רב של הזמנות, ומלאי המוצרים של Facebook Shops צריך להתעדכן כל הזמן. אם אתה עדיין חושב שניתן לבצע סינכרונים אלה בין פייסבוק לחנות שלך אחת ל -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".

נלהב מהטכנולוגיה, אני אוהב לבדוק ולכתוב הדרכות על מערכות הפעלה macOS, לינוקס, Windows, על אודות WordPress, WooCommerce והגדרת שרתי LEMP (Linux, NGINX, MySQL ו-PHP). אני כותב על StealthSettings.com מאז 2006, וכעבור כמה שנים התחלתי לכתוב ב- iHowTo.Tips הדרכות וחדשות על מכשירים במערכת האקולוגית. Apple: iPhone, אייפד, Apple צפה, HomePod, iMac, MacBook, AirPods ואביזרים.

מחשבה אחת על "תקן טבלאות SQL ענקיות: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]"

  1. @Stealth
    טאק לסילפן. Du redder min dag og shop. Jeg opdagede first this efter et nedbrud af min webshop. תוספים רבים מתחילים בהפקת הדומם שלהם בטבלה ושולחן ... Wooping 9.2GB טבלה קיבלה את המארח עד שהפך את הנעלם שלו בסדר. Nu trimmer jeg med den fine code!
    Lige et שאלות ב falde rebet this table "wpb_action_scheduler_purge" er det en default i db'en או skal jeg evt. שנה את שם den til noget i min (default hedder min db ikke 'wp_') או er det אולי en function?
    טאק עבור שירותפן ואוגן מאמר סופר משובח

    הילסן
    נצי

    תגובה

השאירו תגובה