Skip to content Skip to main navigation Skip to footer

Hướng dẫn xoá Action Scheduler trong WooCommerce

Hướng dẫn xoá Action Scheduler trong WooCommerce

Trong quá trình sử dụng website WordPress đôi lúc bạn sẽ gặp tình trạng đầy dung lượng đột ngột. Trong khi website bạn không có quá nhiều dung lượng. Vậy thì vấn đề full dung lượng do đâu?

Nếu bạn có sử dụng WooCommerce thì sẽ gặp vài trường hợp table actionscheduler_actions và actionscheduler_logs chiếm quá nhiều dung lượng.

Vậy 2 table này mang ý nghĩa gì và cách xử lý như thế nào mời bạn xem tiếp nhé.

Hướng dẫn xoá Action Scheduler trong WooCommerce

Action Scheduler (bộ lập lịch hành động) là một thành phần của plugin Woocommerce để quản lý và theo dõi các hành động được lên lịch sẵn. Khi một tác vụ công việc được kích hoạt, nó sẽ được xử lý ngầm theo cách hoàn toàn tự động.

Bộ lập lịch hành động sẽ ghi lại nhật ký công việc mà bạn có thể xem chi tiết trong tab Scheduled Actions ở phần Status của Woocommerce. Trong database dữ liệu được lưu trữ trong bảng wp_actionscheduler_actions và wp_actionscheduler_logs. Lâu ngày có thể các tác vụ công việc sẽ ngày một nhiều hơn và khiến cho cơ sở dữ liệu trở nên cồng kềnh và làm chậm website của bạn.

Đối với những tác vụ đã hoàn thành (complete), bị lỗi (failed) hoặc bị hủy (canceled) thì các bạn nên xóa đi để giảm tải cho cơ sở dữ liệu.

1. Xoá trong phpMyAdmin

Tại giao diện phpMyadmin bạn click vào Rỗng (Empty) để làm trống table này.

2. Xoá bằng lệnh mysql

Bạn truy cập vào MySQL sau đó chạy lần lượt các lệnh sau để xoá bỏ.

Lưu ý: Mỗi database sẽ có một prefix khác nhau. Bạn cần kiểm tra prefix đang dùng để sửa lại tương ứng.

VD: wp_actionscheduler_actions (prefix là wp_)

AZDIGI Tutorial
DELETE FROM 'wp_actionscheduler_actions' WHERE 'status' = 'complete'
DELETE FROM 'wp_actionscheduler_actions' WHERE 'status' = 'canceled'
DELETE FROM 'wp_actionscheduler_actions' WHERE 'status' = 'failed'
    

3. add_filter trong functions của Theme

Đối với các tác vụ đã thực hiện, mặc định sẽ được xóa trong 30 ngày nhưng bạn có thể thay đổi cài đặt thành 7 ngày hoặc 1 ngày.

Bạn thêm một filter trong theme để thực hiện xoá tự động bằng cách mở file functions.php tại đường dẫn wp-content/themes/my-theme/functions.php. Sau đó thêm vào đoạn sau dưới cùng file.

AZDIGI Tutorial
add_filter( 'action_scheduler_retention_period', 'wp_action_scheduler_purge' );
/**
 * Change Action Scheduler default purge to 1 days
 */
function wpb_action_scheduler_purge() {
 return DAY_IN_SECONDS; #1 ngày
 #return WEEK_IN_SECONDS; #7 ngày
}
    

4. Thay đổi Storage Engine Database

Bạn hãy thay đổi kiểu bảng từ InnoDB sang MyISAM để hoàn tất.

Như vậy mình đã hoàn tất Hướng dẫn xoá Action Scheduler trong WooCommerce.

Chúc các bạn thực hiện thành công

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới: