विशाल SQL तालिकाओं को ठीक करें: wp_actionscheduler_actions और wp_actionscheduler_logs [WooCommerce टिप्स]

WooCommerce यह एक व्यापक रूप से इस्तेमाल किया जाने वाला मॉड्यूल बन गया है ऑनलाइन की दुकानें. एसईओ, उत्पाद और स्टॉक प्रबंधन, स्वच्छ और सहज कोड, सरल प्रशासन इंटरफ़ेस और वू के लिए विकसित किए गए हजारों प्लगइन्स, ऐसे कुछ कारण हैं जिनकी वजह से जब आप एक ऑनलाइन स्टोर विकसित करने के बारे में सोचते हैं तो यह एक मौका का हकदार है।

किसी भी सीएमएस की तरह, वू उन विषमताओं का अपवाद नहीं है जो अन्य प्लगइन्स के साथ विभिन्न उपयोग या इंटरैक्शन परिदृश्यों में हो सकती हैं। WordPress.
एक संसाधन सर्वर पर हार्डवेयर काफी उदार, मैंने देखा कि डेटाबेस सेवा (mysqld) को लगभग 80-90% RAM की आवश्यकता होती है। एक बहुत गंभीर समस्या है, क्योंकि मुझे समझ में नहीं आया कि समय-समय पर त्रुटि 110 कहाँ से आती है (110: कनेक्शन समयबद्ध).
SQL प्रक्रियाओं के करीब से निरीक्षण करने पर, मैंने पाया कि एक डेटाबेस में काफी बड़े वॉल्यूम के साथ दो टेबल हैं: wp_actionscheduler_actions si wp_actionscheduler_logs.

आम तौर पर निर्धारित कार्य की WooCommerce कार्रवाई अनुसूचक निष्पादित होने के बाद उन्हें स्वचालित रूप से हटा दिया जाना चाहिए। यह हमेशा नहीं होता है, और वे स्थिति के साथ wp_actionsscheduler_actions में फंस जाते हैं: में विफल रहा है, रद्द, अपूर्ण या पूरा.

ऊपर की छवि में, तालिकाओं "wp_actionsअनुसूचक“उनके पास केवल है सिर्फ 15 एमबी से अधिक। मुझे खेद है कि जब उनके पास स्क्रीनशॉट लेने के लिए मैं प्रेरित नहीं हुआ था 1.2 जीबी. फिर भी, 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'

एक बार जब यह तालिका साफ हो जाती है, तो इसका मतलब यह नहीं है कि समस्या हल हो गई है। जैसा कि मैंने ऊपर कहा, मुख्य कारण विभिन्न कारणों से WP-Cron सेवा का अक्षम होना है। इस प्रकार "ज़ोंबी" स्थिति वाली प्रविष्टियाँ अब नहीं हटाई जा सकतीं।
यह जानना बहुत जरूरी है कि अगर आपका कोई ऑनलाइन स्टोर है WooCommerce, और यह प्लगइन के माध्यम से फेसबुक शॉप्स से जुड़ा हुआ है "फेसबुक के लिए WooCommerce", यह स्वचालित रूप से उत्पादों को सिंक्रनाइज़ करता है WooCommerce अपने फेसबुक शॉप्स अकाउंट से। और वह ऐसा हर 15 मिनट में करता है. यदि इन SQL प्रविष्टियों को नियंत्रित नहीं किया जाता है, तो आप कई सैकड़ों हजारों पंक्तियाँ प्राप्त कर सकते हैं"wc_facebook_regenerate_feed"में"wp_actionscheduler_actions".

यह अंतराल उन दुकानों के लिए ठीक है जिनके पास बड़ी संख्या में ऑर्डर हैं और फेसबुक शॉप्स उत्पादों के स्टॉक को लगातार अपडेट करने की आवश्यकता है। यदि आप अभी भी सोचते हैं कि फेसबुक और आपके स्टोर के बीच ये सिंक हर 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" के लिए विशाल तालिकाओं के साथ कोई समस्या नहीं होगी।

प्रौद्योगिकी के प्रति जुनूनी होने के कारण मैं इस पर मजे से लिखता हूं StealthSettings2006 से .com। मुझे ऑपरेटिंग सिस्टम में व्यापक अनुभव है: macOS, Windows एसआई Linux, लेकिन प्रोग्रामिंग भाषाओं और ब्लॉगिंग प्लेटफ़ॉर्म में भी (WordPress) और ऑनलाइन स्टोर के लिए (WooCommerce, मैगेंटो, प्रेस्टाशॉप)।

कैसे करें » Curiosity » विशाल SQL तालिकाओं को ठीक करें: wp_actionscheduler_actions और wp_actionscheduler_logs [WooCommerce टिप्स]

1 विचार "विशाल SQL तालिकाओं को ठीक करें: wp_actionscheduler_actions और wp_actionscheduler_logs [WooCommerce सुझावों]"

  1. @Stealth
    hjælpen के लिए लें। दू रेडर मिन डैग ओग शॉप। वेब शॉप के बाद और बाद में पहले पता करें। मैंज प्लगइन्स एर बेगिन्ड्ट एट डंप डेरेस आउटपुट आई डेन टैबेल और डेट फाइलर… वूपिंग 9.2GB टैबल फिक मिन होस्ट टिल एट ओपगिव हंस एलर्स फाइन ऑप-टिड। न्यू ट्रिमर जेग मेड डेन फाइन कोड!
    Lige et sørgsmål på falde rebet denne tabel “wpb_action_scheduler_purge” एर डिटेल एन default आई डीबीएन एलर स्केल जेग ईवीटी। डेन तिल नोगेट आई मिन का नाम बदलें (default हेडर मिन डीबी ikke 'wp_') क्या आपको पता चल गया है?
    hjælpen और den सुपर फाइन आर्टिकेल के लिए टाक

    हिल्सेन
    नेट्ज़ी

    जवाब दें
एक टिप्पणी छोड़ दो