Skip to content Skip to main navigation Skip to footer

Sửa lỗi “The following scheduled events failed to run”.

how to fix The following scheduled events failed to run

Trong bài hướng dẫn này mình sẽ hướng dẫn các bạn cách xử lý lỗi “The following scheduled events failed to run” khi sử dụng WordPress.

Click vào website AZDIGI để tham khảo dịch vụ hosting/VPS tốt nhất Việt Nam.

I. Giới thiệu

WordPress có một tính năng được gọi là WP CronWP Cron là một chức năng tích hợp với mục đích tự động hóa, cho phép lên lịch các tác vụ tự động như:

  • Như xuất bản bài đăng.
  • Tác vụ bảo trì.
  • Kiểm tra cập nhật.
  • Và sẽ có nhiều plugin cần sử dụng tính năng này để thực hiện các tác vụ riêng của plugin đó. 

Tuy nhiên WP-Cron thực sự không phải là một Cron Job thực sự, bạn có thể hiểu đơn giản nó giống như một “Cron Job giả mạo”. Các tác vụ này chỉ được kích hoạt khi ai đó truy cập trang web của bạn, trong khi tải trang PHP, WP-Cron sẽ kiểm tra cơ sở dữ liệu để xem liệu có bất kỳ tác vụ đã lên lịch nào để thực thi hay không. 

Cách hoạt động của WP-Cron có một số nhược điểm: Khi bạn đang sử dụng một plugin tăng tốc website với bộ nhớ đệm như WP-Rocket, sẽ không có PHP nào được thực thi trong giao diện người dùng, vì vậy nếu không có hoạt động nào trên WP-Admin trong một thời gian, các quy trình WP-Cron sẽ ngừng được kích hoạt.

Đây cũng là một vấn đề tiềm ẩn trên các trang web có lưu lượng truy cập cao, vì mọi yêu cầu trang có thể tạo ra một quy trình sử dụng tài nguyên máy chủ, và tính năng WP-Cron có thể được sử dụng làm mục tiêu của một cuộc tấn công DDOS.

Và một khi WP-Cron không thể hoạt động thì lỗi “The following scheduled events failed to run”(Các sự kiện đã lên lịch không chạy được) sẽ xuất hiện.

Nên trong bài viết này mình sẽ hướng dẫn cách fix lỗi “The following scheduled events failed to run” cũng như để chúng ta không còn phụ thuộc vào WP-Cron nữa.

II. Các phát hiện lỗi “The following scheduled events failed to run”

Cách phát hiện lỗi “The following scheduled events failed to run” rất đơn giản. Các bạn chỉ cần truy cập vào đường dẫn sau.

AZDIGI Tutorial
http://domain.com/wp-admin/tools.php?page=action-scheduler
    

Bạn nhớ thay đổi domain.com thành tên miền của bạn nhé.

Khi truy cập vào đường dẫn này nếu các công việc lên lịch của WP-Cron không hoạt động bạn sẽ thấy ngay thông báo này ở trên cùng.

Tuy nhiên kể cả bạn khong gặp lỗi “The following scheduled events failed to run” thì cũng nên thực hiện các bước trong bài viết này để giảm rủi ro lợi dụng WP-Cron để DDOS website của bạn.

III. Khắc phục lỗi “The following scheduled events failed to run”

Để khắc phục lỗi “The following scheduled events failed to run“, chúng ta thực hiện theo 2 bước sau.

Bước 1: Vô hiệu hóa WP-Cron

Do nhược điểm của WP-Cron quá nhiều nên các bạn hãy vô hiệu hóa nó đi, và tạo ra một Cron Job thực thụ để sử dụng.

Nhưng trước khi tạo một Cron Job thật thì chúng ta cần vô hiệu hóa WP-Cron trước. Để vô hiệu hóa WP-Cron các bạn chỉ cần chỉnh sửa tệp tin wp-config.php của website.

AZDIGI Tutorial
define('DISABLE_WP_CRON', true);
    

Chỉ với thao tác như vậy là chúng ta đã Vô hiệu hóa WP-Cron thành công. Bây giờ chúng ta tiếp tục đến bước 2 để thêm một Cron Job thực thụ cho website của bạn.

Bước 2: Thêm Cron Job cho website WordPress

Việc này rất là đơn giản. Các Control Panel phổ biến như DirectAdmin hay cPanel đều đã hỗ trợ đầy đủ Cron Job ngay trên giao diện người dùng.

a. Đối với cPanel:

Trên giao diện cPanel, các bạn chỉ cần tìm với từ khóa “cron” thì bạn sẽ tìm thấy tính năng Cron Jobs tại danh mục Advanced.

how to fix The following scheduled events failed to run

Tại giao diện Cron Jobs, các bạn chỉ cần nhập các thông tin như hình sau là được.

how to fix The following scheduled events failed to run
Mọi thứ sẽ được tự động kiểm tra mỗi 5 phút. Thay vì kiểm tra mỗi khi có người dùng truy cập website.

Phần nội dung tại Command các bạn sẽ cần nhập thông tin như sau:

AZDIGI Tutorial
wget -q -O - http://domain.com/wp-cron.php?doingwpcron >/dev/null 2>&1
    

Bạn nhớ thay đổi domain.com thành tên miền của bạn nhé. Sau đó chọn nút Add new Cron Job để hoàn tất.

b. Đối với DirectAdmin:

Thì các cũng khá tương tự cPanel, tuy nhiên vị trí tính năng Cron Jobs sẽ nằm tại danh mục Advanced Features.

how to fix The following scheduled events failed to run

Sau đó các bạn cần chọn nút Create Cron Job. Và chúng ta cũng cần nhập các thông tin như hình bên dưới.

how to fix The following scheduled events failed to run
Mọi thứ sẽ được tự động kiểm tra mỗi 5 phút. Thay vì kiểm tra mỗi khi có người dùng truy cập website.

Phần nội dung tại Command các bạn sẽ cần nhập thông tin như sau:

AZDIGI Tutorial
wget -q -O - http://domain.com/wp-cron.php?doingwpcron >/dev/null 2>&1
    

Bạn nhớ thay đổi domain.com thành tên miền của bạn nhé. Sau đó chọn nút Create để hoàn tất.

Đến đây các bạn có thể quay lại kiểm tra lỗi “The following scheduled events failed to run” đã không còn tồn tại nữa.

III. Tổng kết

Chỉ với hai bước đơn giản chúng ta đã khắc phục được lỗi “The following scheduled events failed to run” trên WordPress. Và kể cả khi website của bạn không có đang tồn tại lỗi này thì chúng ta cũng nên thay thế WP-Cron bằng một Cron Job thật sự để có thể hạn chế được các cuộc tấn công DDOS nhắm vào tính năng WP-Cron.

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

Xem thêm các bài viết hướng dẫn website hữu ích tại đường dẫn sau:

Chương trình "Ưu đãi Mạnh - Phục hồi Nhanh" lên đến 50% cho Hosting và VPSXem chi tiết