اقدامات زمانبندیشده که در عملیات برنامه ریزی شده ووکامرس قرار دارند میتوانند با هزاران اکشن انباشته شوند، فقط در وضعیت ناموفق، لغو، در انتظار یا کامل گیر کنند. این می تواند منجر به بالا رفتن حجم دیتابیس به ویژه جداول wp_actionscheduler_actions و wp_actionscheduler_logs شود.
در ادامه نحوه کاهش حجم جداول wp_actionscheduler_actions و wp_actionscheduler_logs را توضیح می دهیم.
کاهش حجم جدول wp_actionscheduler_actions با حذف عملیات برنامه ریزی شده ووکامرس
از آنجایی که حالت های ناموفق، لغو یا کامل قبلاً تصویب شده است، می توانید آنها را از جدول wp_actionscheduler_actions حذف کنید.
برای انجام اینکار در هاست خود وارد بخش phpMyadmin شوید و در تب SQL دستوراتی وارد کنید.
فقط از حالت مورد نیاز در دستور 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_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 کمک کرده باشد. همچنین ممکن است بخواهید مقاله دیگر ما را در مورد نحوه پاکسازی پایگاه داده وردپرس برای بهبود عملکرد ببینید.
سلام وقت بخیر من ناموفق هارو میخوام حذف کنم و از اموزشتون استفاده کردم ولی با :
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
مواجه میشم
سلام و ممنون بابت آموزش
آیا میشه wp_actionscheduler_claims رو میشه مشابه logs یا از طریق دستورات SQL بالا از دیتا بیس حذف کرد؟
سلام وقت بخیر
بله، میتونید با دستوری مثل: DELETE FROM wp_actionscheduler_claims;
اینکار رو انجام بدید، فقط قبلش حتما پشتیبان بگیرید.
خیلی عالی
این دست مطالب تخصصیتر معمولا تو سایتهای فارسی نیست. اکثرا همین مطالب راه اندازی وردپرس و نصب فلان افزونه رو همه از هم کپی میزارن. ممنون از شما بابت محتوای با کیفیتی که منتشر میکنید.
در ابتدا تشکر میکنم بابت وقتی که برای این مطلب مفید گذاشتید
1-آیا حذف کردنشون منجبر مشکلی نمیشه؟ مثلا جزییات سفارشات مشتریان و … رو از بین نمیبره و طوری نیست که با حذفش مثلا سفارش ثبت شده ای گم بشه؟؟
2-آیا wp_actionscheduler_actions نمیشه مشابه logs از طریق دیتا بیس خالی کرد؟
3-تکلیف عملیات های ناموفق چیه و آیا اوناروهم باید پاک کرد؟
سلام وقت بخیر
تمام کارهای موجود در این مقاله رو انجام بدید هیچ مشکلی نداره.
1. خیر
2. به همین روشس که اینجا ذکر شده اقدام کنید.
3. بله اونارم پاک کنید.