NỘI DUNG
CRON được sử dụng để lên lịch các công việc vào trên website với những thời điểm như ngày tháng hoặc khoảng thời gian cố định, định kỳ trên trang web WordPress của bạn. Một số ví dụ về công việc WordPress cron có thể liên quan đến việc lên lịch đăng bài để xuất bản, kiểm tra các bản cập nhật một plugin đã được lên lịch cập nhật.
Trong WordPress, công việc này được xử lý bởi WP-Cron , nó được sử dụng để mô phỏng một cron hệ thống. Tuy nhiên, tùy thuộc vào lượng lưu lượng truy cập vào trang web của bạn, việc sử dụng trình xử lý cron tích hợp thực sự có thể sẽ ảnh hưởng đến thời gian tải trang của bạn. Vì vậy, hôm nay mình sẽ hướng dẫn bạn cách tắt WP-Cron ( wp-cron.php) và thay vào đó sử dụng cron hệ thống để có hiệu suất nhanh hơn.
Vấn đề về hiệu suất với WP-Cron
Mình đã xử lý rất nhiều trang web có yêu cầu và lưu lượng truy cập cao tại. Do đó mình thấy nếu sử dụng cron này sẽ ảnh hưởng rất nhiều vấn đề về hiệu suất với trình xử lý Cron tích hợp trong WordPress: WP-Cron
. Và trước tiên, điều quan trọng là phải hiểu rằng WP-Cron không phải là một công việc cron thực sự, nó chỉ đơn giản là thứ mà WordPress đã tạo ra để bắt chước những gì một cron hệ thống làm.
WP-Cron không chạy liên tục. Theo mặc định, wp-cron.php
kích hoạt trên mỗi lần tải trang, trên các trang web có lưu lượng truy cập cao có thể gây ra sự cố.
Cách tắt WP-Cron
Để vô hiệu hoá WP-Cron bạn hãy mở file wp-conf.php
và thêm dòng bên dưới vào trên đoạn /* That's all, stop editing! Happy publishing. */
.
define('DISABLE_WP_CRON', true);
Làm thế nào để lên lịch hệ thống Cron
Và bây giờ bạncần phải lên lịch wp-cron.php
để hoạt động.
Tạo Cron Job trong cPanel
Nếu đang sử dụng máy chủ có cPanel, bạn cũng có thể tạo cron hệ thống từ bảng điều khiển. Và lưu ý tước tiên bạn hãy đảm bảo rằng bạn đã tắt WP-Cron mặc định ở trên.
Bước 1
Đăng nhập vào cPanel. Trong phần Nâng cao, nhấp vào Cron Jobs
Bước 2
Trong phần Thêm Công việc Cron Mới, bạn có thể chọn các thời gian được gợi ý đề xuất, chẳng hạn như hai lần một giờ hoặc một lần mỗi tuần. Và nhà cung cấp dịch vụ lưu trữ của bạn rất có thể có giới hạn về tần suất chạy cron này vì sẽ có ảnh hưởng đến máy chủ của nhà cung cấp.
Bước 3
Bạn hãy thêm lệnh sau vào. Và thay thế https://domain.com
bằng tên miền của bạn. Lệnh này có thể thay đổi một chút dựa trên cách cấu hình máy chủ của bạn. Sau đó nhấp vào Add New Cron Job để lưu lại.
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Mặc định cron gửi email cho người thực thi cron job, nếu bạn muốn tắt chức năng gửi email này đi thì hãy thêm đoạn sau vào cuối dòng >/dev/null 2>&1
có nghĩa là khi cron thực thi, bất cứ output nào stderr hay stdout đều được gửi đến hố đen /dev/null
vì gửi đến hố đen cho nên output cũng là null và cron sẽ không thực thi việc gửi email đi.
Chú thích: Phần >/dev/null 2>&1
>
chuyển hướng – chuyển luồng dữ liệu đi đâu đó>>
chuyển hướng – giống như trên nhưng sẽ cộng dồn vào đích nó đến/dev/null
trong linux nó giống như một cái hố đen, nơi mà mọi dữ liệu gửi đến đều sẽ bị loại bỏ2
là ký hiệu chỉ đích đến Standard Error (stderr)1
là ký hiệu chỉ đích đến Standard Out (stdout)&
là ký hiệu kiểu A or B
Chúc bạn thực hiện thành công.