Xóa các hành động được lên lịch bởi Woocoomerce (Action Scheduler)

Với website bán hàng bằng wordpress có sử dụng Woocommerce, khi hoạt động lâu dài, các hành động được lên lịch của Woocommerce có thể lên tới hàng ngàn hành động chồng chất. Điều này có thể làm cho các bảng cơ sở dữ liệu wp_actionscheduler_actions, wp_actionscheduler_logs trở lên cồng kềnh. Các hành động được lên lịch này sẽ có nhiều trạng thái khác nhau: không thành công, bị hủy, đang chờ xử lý hoặc hoàn thành.

Vì các trạng thái: không thành công, bị hủy, hoàn thành đã được thông qua nên bạn có thể xóa bỏ chúng khỏi bảng wp_actionscheduler_actions một cách an toàn. Bạn có thể thực hiện trong tab SQL của trình phpMyadmin.

Sử dụng các lệnh sau tương ứng với các trạng thái bạn muốn xóa

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

Đối với các hành động có trạng thái chờ xử lý bạn cũng có thể sử dụng lệnh SQL tương tự như trên để xóa. Tuy nhiên nên để chúng được chạy thông qua. Nếu bạn kiểm tra thấy đã quá hạn mà hành động này vẫn chưa được chạy, hãy thử chạy từ bên trong trình quản lý của Woocommerce

Bảng dữ liệu wp_actionscheduler_logs

Nếu bảng wp_actionscheduler_logs của bạn đang quá cồng kềnh, hãy làm trống nó trong phpMyadmin

Completed Actions

Các hành động đã hoàn thành, theo mặc định sẽ được loại bỏ khỏ bộ lập lịch sau 30 ngày nhưng bạn có thể thay đổi nó bằng việc sử dụng hook action_scheduler_retention_period. Hãy sử dụng đoạn code sau trong file functions.php của theme bạn đang kích hoạt.

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;
}

 

Thuở học sinh thích lướt web, chơi game. Ứng thi vào ĐH Công Nghiệp... đậu trường Nông Nghiệp, học CNTT. Đi làm là nhân viên Marketing... Tiếp cận, học PHP từ Joomla, sau làm Wordpress. Và hiện tại đang làm CodeIgniter, Laravel... Tối về viết Blog... và luôn cố gắng cập nhật những công nghệ mới mỗi ngày.