Những người phát triển WordPress, đặc biệt là người mới bắt đầu, thường có những câu hỏi chung như “Cron của WordPress là gì?” và “Làm thế nào để quản lý các công việc WordPress Cron?”. Câu trả lời đơn giản như sau!
Contents
WordPress Cron là gì?
Cron trong WordPress là hệ thống cron riêng của WordPress để lập lịch các nhiệm vụ như kiểm tra cập nhật, lên lịch đăng bài và xóa bình luận từ thùng rác. Tất cả các công việc cron đều được xử lý bởi WP-Cron.
Bạn đang xem: Tự động hóa các nhiệm vụ WordPress với Cron Jobs: Tạo và Quản lý chúng như thế nào
Trong khi tên gọi này và ý tưởng chính đến từ cron của UNIX, WordPress cron hoạt động khác với cron tiêu chuẩn và sử dụng các khoảng thời gian cho việc lên lịch công việc. Các khoảng thời gian mặc định được WordPress cung cấp là hàng giờ, hai lần mỗi ngày, hàng ngày và hàng tuần. Ở đây, các nhiệm vụ dựa trên thời gian phụ thuộc vào người dùng truy cập trang web của bạn, có nghĩa là WordPress cron chỉ thực thi khi một người dùng truy cập trang web của bạn.
Nói cách khác, WordPress cron được thực thi khi trang được tải lên. Đôi khi điều này không đảm bảo tính tin cậy và vì vậy nhiều người dùng thích sử dụng công việc cron cấp máy chủ hơn công việc WP-Cron.
Lợi ích của WordPress Cron
Nếu bạn muốn tự động hóa một quy trình trang web hoặc cần kiểm tra, xác minh và kiểm soát nó định kỳ, các công việc cron là một công cụ hữu ích. Ví dụ, chúng ta có thể muốn ping một máy chủ mỗi ngày, kiểm tra trạng thái của hệ thống mỗi giờ (và lưu nó vào cơ sở dữ liệu), và nhiều hơn nữa.
WP Cron giúp WordPress core và các plugin khác thực hiện các công việc dựa trên thời gian một cách dễ dàng. Việc tạo một công việc Cron WordPress đơn giản hơn sử dụng một công việc cron thực sự yêu cầu kiến thức về các lệnh Linux.
Ngoài ra, vì WP-Cron sử dụng các khoảng thời gian để lên lịch nhiệm vụ, bạn có thể yên tâm rằng nhiệm vụ của bạn sẽ chạy dù thời gian lên lịch đã qua, khác với cron thực sự chỉ định thời gian chính xác mà nhiệm vụ phải chạy. Nếu thời gian trôi qua mà nhiệm vụ không chạy, thì nó sẽ không chạy lại cho đến khi bạn lên lịch lại thủ công.
Cách quản lý các công việc Cron WordPress
Có nhiều cách để thiết lập và quản lý các công việc cron trong WordPress, nhưng tôi sẽ chỉ cho bạn hai phương pháp phổ biến. Bạn có thể sử dụng bất kỳ phương pháp nào trong quá trình sử dụng dịch vụ lưu trữ WordPress của chúng tôi.
Phương pháp đầu tiên sử dụng một plugin quản lý cron như WP Crontrol, cho phép bạn thêm, chỉnh sửa và quản lý các công việc cron WordPress trực tiếp từ trang quản lý WP. Bạn cũng có thể tạo một công việc cron, xây dựng các kết nối và chức năng và xác định các khoảng thời gian tùy chỉnh cho các nhiệm vụ.
Và phương pháp thứ hai là với WordPress CLI.
Cách Quản lý các Công việc Cron WordPress với Plugin
Tôi sẽ sử dụng plugin WP Crontrol cho việc xem và kiểm soát cron WordPress cho ứng dụng WordPress của bạn. Đây là một plugin phổ biến và xử lý các công việc cron WP với hơn 200.000+ cài đặt hoạt động.
WP-Cron không chạy liên tục. Mặc định, wp-cron.php chạy trên mỗi lần tải trang, điều này có thể gây ra vấn đề trên các trang web có lượng truy cập lớn. Nếu một trang web không có đủ người dùng PHP thì đôi khi một yêu cầu sẽ đến và WordPress sẽ thực hiện cron, nhưng cron phải chờ đợi cho worker, và nên ngồi đó.
Đây là phương pháp dễ dàng nhất để quản lý các công việc cron trong WordPress và bạn có thể nhanh chóng xem, chỉnh sửa, tạo mới và có thể làm nhiều hơn nữa với các sự kiện cron WordPress.
Hãy bắt đầu ngay!
Bước 1: Cài đặt Plugin WP Crontrol
Giống như bất kỳ plugin nào khác, bạn cần cài đặt WP Crontrol từ kho lưu trữ plugin và kích hoạt nó.
Sau khi cài đặt xong, bạn sẽ thấy một tùy chọn mới, “Cron Events” đã xuất hiện trong tab Tools.
Bước 2: Xem và Hiểu về Các Sự kiện Cron
Tiếp theo, bạn cần nhấp vào Cron Events và xem danh sách các sự kiện cron đang chạy trên ứng dụng WordPress của bạn.
Xem thêm : Top 9 mẫu website bán hàng đẹp và chuyên nghiệp nhất 2023
Bạn có thể chạy, chỉnh sửa và xóa các sự kiện cron từ phần này. Bạn sẽ thấy tùy chọn này khi di chuột qua bất kỳ sự kiện cron nào.
Bạn cũng sẽ tìm thấy thông tin hữu ích về các công việc cron này và dễ dàng xác định công việc cron nào được sử dụng cho mục đích nào và nhiều hơn nữa.
- Cột đầu tiên, Hook hiển thị tên của hook được WordPress core hoặc bất kỳ plugin nào sử dụng. Ví dụ, tiền tố “wp” chỉ đơn giản cho thấy đó là cron của WordPress core.
- Bạn cũng sẽ nhận thấy rằng không có tùy chọn để xóa các sự kiện cron này, nhưng bạn có thể sử dụng các tùy chọn chỉnh sửa và chạy ngay bất kỳ sự kiện cron nào.
- Tương tự, đối với các plugin của bạn, bạn sẽ nhận thấy các tiền tố khác được sử dụng (ví dụ như cho WooCommerce, “wc” hoặc “woocommerce”).
- Cột thứ hai, Arguments, chỉ chứa các đối số được truyền cho các chức năng hook.
- Cột thứ ba hiển thị thời điểm mà nhiệm vụ cron này sẽ chạy lần tiếp theo.
- Cột thứ tư, Action, hiển thị hành động mà cron này sẽ thực hiện (tức là “hàm” của công việc cron).
- Cột cuối cùng xác định các khoảng thời gian tái phát của các công việc cron. Đây là khoảng thời gian cho công việc đã lên lịch.
Bước 3: Chỉnh sửa Sự kiện Cron
Bây giờ hãy chỉnh sửa một công việc cron WP để kiểm tra plugin này.
- Điều đầu tiên, hãy nhấp vào tên hook và nhấp vào chỉnh sửa.
- Một phần “Edit Cron Event” mới sẽ xuất hiện và bạn sẽ thấy các trường khác nhau. Trong trường hợp này, tôi đã chỉnh sửa hook “wp_privacy_delete_old_export_files”.
- Tiếp theo, tôi sẽ thay đổi thời gian tái phát của công việc cron này thành ‘Mỗi giờ một lần (hourly)’.
Bước 4: Thêm Khoảng thời gian tùy chỉnh
Tiếp theo, tôi sẽ chỉ cho bạn cách thêm một khoảng thời gian tùy chỉnh cho các sự kiện cron của bạn.
- Điều đầu tiên, hãy đến Cài đặt WordPress → Tiến trình Cron.
- Bây giờ, nhấp vào tab “Cron Schedule” và một màn hình mới sẽ xuất hiện, hiển thị chi tiết của các khoảng thời gian đã lên lịch.
-
Điền vào các trường Tên nội bộ, Khoảng thời gian tính bằng giây và Tên hiển thị, sau đó nhấp vào Thêm Tiến trình Cron.
-
Lưu ý rằng đầu vào cho khoảng thời gian là tính bằng giây. Tôi sẽ sử dụng 600 giây để đặt khoảng thời gian là 10 phút.
-
Bây giờ bạn có thể chỉnh sửa sự kiện cron và thay thế nó bằng khoảng thời gian tùy chỉnh của bạn.
Bước 5: Thêm Một Sự kiện Cron Mới
Giờ bạn đã biết cách quản lý các nhiệm vụ đơn giản cho các sự kiện cron của bạn, nhưng nếu bạn muốn thêm công việc cron riêng của mình cho ứng dụng WordPress của bạn? Đừng lo, nó không phức tạp và bạn chỉ cần làm theo hướng dẫn dưới đây.
- Trước tiên, hãy nhấp vào Thêm Sự kiện Cron, và bạn sẽ vào phần thêm sự kiện cron.
- Sau đó, chỉ cần đặt tên hook theo ý bạn (phải tuân thủ quy ước đặt tên PHP thông thường và không có khoảng trắng).
- Tiếp theo, thêm đối số (không bắt buộc); trong trường hợp của tôi, nó là trống.
- Tiếp theo, chọn bất kỳ tùy chọn nào và đặt thời gian trong trường Chạy Lần tới.
- Cuối cùng, chọn một khoảng thời gian tái phát (thời gian lên lịch) cho cron mới của bạn và nhấp vào Thêm Sự kiện.
- Nếu bạn có bất kỳ câu hỏi nào về điều này, bạn có thể kiểm tra các cài đặt công việc cron đang chạy từ các sự kiện cron của bạn.
- Sau khi thêm công việc cron mới, hãy chuyển đến tab cron events và kiểm tra công việc cron mới bạn đã tạo. Bạn sẽ thấy cột hành động hiển thị None (lỗi). Điều này là do bạn chưa định nghĩa bất kỳ hành động nào cho công việc cron này.
- Do đó, bạn cần viết một vài dòng mã trong file functions.php của theme và thêm một hành động.
Lưu ý: Trước khi đi xa hơn, rất đáng khuyến nghị là sao lưu trang web WordPress của bạn.
- Hãy đến Trang quản lý WordPress → Giao diện, và nhấp vào Trình chỉnh sửa Tệp Chủ đề.
- Nhấp vào tệp function.php từ tùy chọn Tệp Chủ đề ở bên phải của trang.
- Thêm các dòng mã sau ngay sau
<?php
vào file function.php của theme
add_action( 'cloudways_new_cron', 'cw_function' );
function cw_function() { wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' ); }
Lưu ý: Đừng quên thay thế địa chỉ email của tôi bằng email của bạn.
-
Bạn có thể thấy ở hình ảnh trên, tôi chỉnh sửa nó trực tiếp với bảng điều khiển WordPress. Nếu bạn muốn, bạn có thể chỉnh sửa tệp này qua một ứng dụng FTP như FileZilla.
-
Tiếp theo, kiểm tra hộp thư đến và xem liệu chúng ta có nhận được tin nhắn không.
Tất nhiên! Đã xong và chúng ta đã thành công thêm một sự kiện cron mới.
Cách quản lý Công việc Cron WordPress qua WP CLI
Bạn cũng có thể xem và quản lý tất cả các công việc cron WordPress của bạn qua CLI của WordPress. Tại Cloudways, bạn cần mở terminal và đăng nhập bằng thông tin đăng nhập của máy chủ.
- Bạn có thể sử dụng PuTTy để đăng nhập vào máy chủ của mình. Nhập địa chỉ IP của máy chủ của bạn và nhấp vào Mở.
-
Nhập tên người dùng và mật khẩu của máy chủ của bạn trong PuTTy từ bảng điều khiển quản lý máy chủ Cloudways.
-
Tiếp theo, đặt đường dẫn ứng dụng WordPress của bạn. Trong trường hợp của tôi, URL là:
cd applications/urrghmpqks/public_html/
- Tiếp theo, bạn cần chạy lệnh này:
wp cron event list
- Bạn có thể thấy tên hook, thời gian chạy tiếp theo, thời gian chạy tương đối tiếp theo và tái lập (thời gian lên lịch).
Cách thiết lập một công việc cron thực sự
Bây giờ, bạn đã biết WordPress cron job là gì và cách nó hoạt động. Nhưng nếu bạn muốn thay thế nó bằng một công việc cron thực sự cho các nhiệm vụ quan trọng có lưu lượng truy cập thấp, yêu cầu chạy vào một thời điểm cụ thể, gặp tấn công DDoS quá mức hoặc thời gian tải trang trang?
Hãy bắt đầu!
Bước 1: Mở và Chỉnh sửa tệp wp-config.php
Trước tiên, bạn cần mở tệp wp-config bằng một ứng dụng FTP như FileZilla hoặc một ứng dụng SSH như PuTTY. Sau đó, chỉnh sửa tệp và đặt dòng mã sau đây trước dòng nói “/ Đây là tất cả. Dừng chỉnh sửa! Chúc bạn blog tốt lành. /”.
define('DISABLE_WP_CRON', true);
Đoạn mã này vô hiệu hóa các sự kiện cron đang chạy trên trang web WordPress của bạn và bây giờ bạn có thể tạo một công việc cron thực sự.
Bước 2: Thêm một công việc cron mới vào máy chủ
Tiếp theo, đăng nhập vào nền tảng Cloudways của bạn, sau đó chuyển đến “Quản lý công việc cron” -> “Phần cấu hình nâng cao”.
Sau đó, thêm lệnh sau và nhấp vào Lưu thay đổi:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1
Trong lệnh trên, tôi định nghĩa một khoảng thời gian là năm phút cho công việc cron. Bạn có thể sử dụng trang web này để kiểm tra biểu thức lịch trình thời gian. Trong trường hợp của tôi, /5 * là biểu thức khoảng thời gian.
Và xong! Bạn đã thành công thêm một công việc cron thực sự.
Tổng kết
Hy vọng bài viết này đã giúp bạn hiểu cách công việc cron của WordPress hoạt động. Tôi đã thảo luận về hai phương pháp để quản lý các công việc cron trong WordPress; một thông qua một plugin và một thông qua WP-CLI. Tôi cũng đã thảo luận về cách thiết lập một công việc cron thực sự trên máy chủ WordPress trực tiếp. Hãy để lại câu hỏi của bạn trong phần bình luận dưới đây nếu có bất kỳ câu hỏi nào.
Nguồn: https://laptrinhc.edu.vn
Danh mục: Web