آموزش وردپرس, پایگاه داده, خطاهای وردپرس

بالا رفتن حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs

بالا رفتن حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs

اقدامات زمان‌بندی‌شده که در عملیات برنامه ریزی شده ووکامرس قرار دارند می‌توانند با هزاران اکشن انباشته شوند، فقط در وضعیت ناموفق، لغو، در انتظار یا کامل گیر کنند. این می تواند منجر به بالا رفتن حجم دیتابیس به ویژه جداول wp_actionscheduler_actions و wp_actionscheduler_logs شود.

در ادامه نحوه کاهش حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs را توضیح می دهیم.

بالا رفتن حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs

کاهش حجم جدول wp_actionscheduler_actions با حذف عملیات برنامه ریزی شده ووکامرس

از آنجایی که حالت های ناموفق، لغو یا کامل قبلاً تصویب شده است، می توانید آنها را از جدول wp_actionscheduler_actions حذف کنید.

برای انجام اینکار در هاست خود وارد بخش phpMyadmin  شوید و در تب SQL دستوراتی وارد کنید.

کاهش حجم جدول wp_actionscheduler_actions

فقط از حالت مورد نیاز در دستور SQL استفاده کنید:

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

همچنین برای اقدامات برنامه‌ریزی‌شده‌ای که در حال انتظار هستند، می‌توانید از همان دستورات SQL مانند بالا استفاده کنید، فقط وضعیت را به pending تغییر دهید، اما احتمالاً آنها را به موقع اجرا می‌کنید یا اگر به تاخیر افتاده‌اند، آن‌ها را از داخل ووکامرس اجرا کنید.

بالا رفتن حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs

جدول wp_actionscheduler_logs

اگر جدول wp_actionscheduler_logs هم حجم زیادی از دیتابیس  را گرفته است، فقط آن را خالی کنید.

جدول wp_actionscheduler_logs

عملیات تکمیل شده

عملیات تکمیل شده معمولاً پس از 30 روز به صورت پیش فرض توسط Action Scheduler حذف می شوند، اما فیلتری وجود دارد که می تواند آن تنظیم را تغییر دهد تا هر هفته پاک شود.

برای اینکار قطعه کد زیر را به فایل functions.php قالب فعال سایت خود اضافه کنید:

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
/**
 * Change Action Scheduler default purge to 1 week
 */
function wpb_action_scheduler_purge() {
 return WEEK_IN_SECONDS;
}

به پایان این مقاله رسیدیم، امیدواریم که این به شما در حل کردن مشکل بالا رفتن حجم دیتابیس و جداول wp_actionscheduler_actions و wp_actionscheduler_logs کمک کرده باشد. همچنین ممکن است بخواهید مقاله دیگر ما را در مورد نحوه پاکسازی پایگاه داده وردپرس برای بهبود عملکرد ببینید.

(6) نظرات کاربران

  1. aref sarkhosh گفت:

    سلام وقت بخیر من ناموفق هارو میخوام حذف کنم و از اموزشتون استفاده کردم ولی با :
    Error
    SQL query: Copy

    DELETE FROM `wp_actionscheduler_actions` WHERE `status` = ‘failed’;
    MySQL said: Documentation

    #1146 – Table ‘pwallpla_parsazin.wp_actionscheduler_actions’ doesn’t exist

    مواجه میشم

  2. سپنتا گفت:

    سلام و ممنون بابت آموزش
    آیا میشه wp_actionscheduler_claims رو میشه مشابه logs یا از طریق دستورات SQL بالا از دیتا بیس حذف کرد؟

    1. سلام وقت بخیر
      بله، میتونید با دستوری مثل: DELETE FROM wp_actionscheduler_claims;
      اینکار رو انجام بدید، فقط قبلش حتما پشتیبان بگیرید.

  3. بهرام گفت:

    خیلی عالی
    این دست مطالب تخصصی‌تر معمولا تو سایت‌های فارسی نیست. اکثرا همین مطالب راه اندازی وردپرس و نصب فلان افزونه رو همه از هم کپی میزارن. ممنون از شما بابت محتوای با کیفیتی که منتشر می‌کنید.

  4. امین بروغنی گفت:

    در ابتدا تشکر میکنم بابت وقتی که برای این مطلب مفید گذاشتید
    1-آیا حذف کردنشون منجبر مشکلی نمیشه؟ مثلا جزییات سفارشات مشتریان و … رو از بین نمیبره و طوری نیست که با حذفش مثلا سفارش ثبت شده ای گم بشه؟؟

    2-آیا wp_actionscheduler_actions نمیشه مشابه logs از طریق دیتا بیس خالی کرد؟
    3-تکلیف عملیات های ناموفق چیه و آیا اوناروهم باید پاک کرد؟

    1. سلام وقت بخیر
      تمام کارهای موجود در این مقاله رو انجام بدید هیچ مشکلی نداره.
      1. خیر
      2. به همین روشس که اینجا ذکر شده اقدام کنید.
      3. بله اونارم پاک کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *