Bài viết này mình sẽ hướng dẫn mọi người cách sửa lỗi kẹt wp cron hoặc wp cron không hoạt động.
Việc bị lỗi wp cron sẽ dẫn đến việc website thiếu ổn định, dễ bị quá tải, những tính năng liên quan đến wp cron không hoạt động được…
Nguyên nhân dẫn đến việc lỗi wp cron thường rất nhiều lý do:
- Lỗi Plugin, Core, Themes…
- Quá nhiều táp vụ chồng tréo
- Nó thích thì nó lỗi cũng chả cản được.
Việc lỗi chả ai mong muốn cả nhưng bài viết này sẽ là cẩm lang giúp bạn sửa nếu như bạn bị gặp phải lỗi này
Công nghệ wp cron là một trong những công nghệ tính năng quan trọng wordpress Kể từ WordPress 3.3 trở đi WordPress đã tính hợp một tính năng cực kì mạnh mẽ.
WP-cron là hiểu một cách đơn giản là bạn hẹn giờ báo thức trên máy điện thoại hàng ngày,hay hàng giờ để thực hiện một hành động công việc nào đó.
wp-cron thì làm số công việc như bạn hẹn giờ đăng bài, hẹn auto update WordPress, tự động xóa bài viết đã lưu, tạo bản sao lưu backup plugin, auto gửi ảnh đến server api litespeed, thông báo mail không đồng bộ, kiểm tra phiên bản update .v.v…
Lợi ích của việc sử dụng wp-cron giúp bạn không phải làm thủ công một số công việc, chỉ cần hẹn giờ và wp-cron sẽ giải quyết giúp bạn.
Một ví dụ: bạn dùng plugin hẹn lịch thông báo đơn hàng chả hạn, mà wp cron bị lỗi thì chả có thông báo gì hay bạn dùng plugin sao lưu website hẹn giờ như 2 giờ sáng tự động backup nhưng mà wp cron bị lỗi nó cũng chả thực thi… wp cron nó được ứng dụng rất nhiều thứ…
Bài viết này mình sẽ hướng dẫn mọi người cách sửa wp cron đột nhiên một ngày wp cron của bạn không hoạt động được, wp cron không hoạt động nó làm giám đoạn công việc tính năng của bạn và đặc biệt làm giảm tính ổn định của hệ thống của bạn. thì bài viết này sẽ rất hữu ích.
Thực thi wp cron thủ công ngay lập tức
Mình cần phải dùng wp cli một công nghệ hết sức tuyệt vời.
bạn hãy vào quản lý máy chủ hay ssh vào terminal tiếp theo gõ cd truy cập vào đường dẫn mã nguồn của bạn. (Còn cách vào ssh terminal và cd mã nguồn thì cái này mình hướng dẫn rất nhiều trong các bài viết khác của mình rồi)
wp cron event list --allow-root
lệnh bên trên là để print hết những task vụ cron của bạn.
Bước tiếp theo hãy gõ lệnh dưới này.
wp cron event run --due-now --allow-root
Rồi bạn ngồi quan sát lệnh trên để thực thi wp cron ngay lập tức, xem nếu có print ra lỗi nào do plugin nào hay theme chỗ nào… thì bạn hãy sửa dựa theo gợi ý của wp cli hay xem wp cron task nào chạy tốn thời gian bạn ngồi quan sát là sẽ rõ. dựa theo gợi ý của lệnh.
Lỗi: Tối ưu wp cron không đúng cách
Bạn hãy tham khảo bài viết tối ưu wp cron bạn triển khai thiếu bước
define( 'DISABLE_WP_CRON', true );
Những bạn không triển khai cron ngoài. đây là một lỗi rất phổ biến khiến wp cron không hoạt động.
Hoặc website của bạn quá ít traffic và sử dụng page cache html tốt thì wp cron mà để native mặc định thì sẽ hoạt động không chuẩn cho lắm sẽ sai múi giờ, bạn phải ứng dụng kỹ thuật tối ưu wp cron bài viết trên của mình hãy ứng dụng theo nó là điều bắt buộc.
Lỗi quá đầy task vụ hàng chờ wp_actionscheduler_actions
Cái này thường dễ xuất hiện khi sử dụng plugin woocommerce
plugin woocommerce khi cài đặt nó sẽ tạo ra một bảng gọi là bảng wp_actionscheduler_actions
wp_actionscheduler_actions hiểu đơn giản là một bảng tables database thực thi tiến trình không đồng bộ. Ví dụ như Hướng dẫn Tăng tốc nút đặt hàng woocommerce là một cách mình tận dụng sử dụng wp_actionscheduler_actions để thực hiện nhiệm vụ, có rất nhiều ý tưởng hay mà bản thân mình làm tăng tốc cũng rất hay sử dụng cái bảng này.
cách nhận biết là đơn giản nhất bạn hãy kiểm tra: dùng phpmyadmin đi xem bảng wp_actionscheduler_actions nó có nặng quá sức mà tự nhiên bảng nó tính theo GB là rất có vấn đề hoặc chính bản thân phần cài đặt plugin woocommerce nếu bảng đó đầy nó cũng sẽ thông báo.
Bảng wp_actionscheduler_actions này đẩy mà không sử lý thì sẽ làm website của bạn thiếu ổn định và làm giảm hiệu suất rất nhiều.
Mình cần phải dùng wp cli.
Tại sao nguyên cả bài viết này mình toàn dùng wp cli bởi vì wp cli nó rất mạnh mẽ nó thực thi php không giới hạn thời gian và nó rất ổn định và sử lý task vụ nhanh hơn…
bạn hãy vào quản lý máy chủ hay ssh vào terminal tiếp theo gõ cd truy cập vào đường dẫn mã nguồn của bạn.
wp action-scheduler run --allow-root wp action-scheduler clean --status=complete --allow-root wp action-scheduler clean --status=canceled --allow-root wp action-scheduler clean --status=failed --allow-root wp db query "DELETE FROM $(wp db prefix --allow-root 2>/dev/null)actionscheduler_logs" --allow-root
bạn paste tất cả các lệnh bên trên này vào thẳng terminal.
Rồi ngồi đợi thôi ngồi treo máy để đó, đợi khá lâu ấy bảng wp_actionscheduler_actions càng nặng thì đợi càng lâu (Nếu anh em biết dùng screen thì dùng screen để treo máy cho nó nhàn)
mỗi khi bạn thấy bảng wp_actionscheduler_actions quá nặng bị kẹt thì lại dùng lệnh này.
Kết luận:
Hy vọng bài viết này sẽ giúp ích cho mọi người cải thiện sự ổn định trong quá trình vận hành website WordPress, không ai mong muốn lỗi sẽ suất hiện nhưng nếu suất hiện vấn đề này thì đây là bài viết cẩm lang để bạn có thể nhanh chónh sửa chữa vấn đề này.
Để lại một bình luận