
Cài đặt Cloudflare workers chạy WP-Cron WordPress
Trong 1 bài viết trước đây mình có nói rất kỹ về WP Cron là gì? và cách để tắt cron ảo trên WordPress và set cron thật, nếu bạn đã bỏ lỡ bài viết này có thể đọc nó tại đây
Nói lại về cách set cron thực thì mình hay dùng cron-job.org vì nó tiện dụng, quản lý tập trung cả trăm thậm chí hàng ngàn cron khác nhau hoàn toàn miễn phí, trong bài này mình share thêm 1 cách để chạy cron bằng cách set trong Cloudflare workers.
Lợi ích siêu to khổng lồ của Cloudflare thì bạn có thể tìm hiểu tại đây còn giờ bạn có thể làm theo các bước dưới đây để set WP-Cron thông qua Cloudflare workers
Bước 1: Đăng nhập vào Cloudflare
Bước 2: Click vào Workers & Pages ở menu trái như ảnh dưới
Tiếp theo click vào Create
Bước 3: Click vào Hello world để tạo 1 worker
Bài viết liên quan
Đặt 1 tên gợi nhớ bất kỳ, sau đó click vào Deploy
Bước 4: Click vào góc phải màn hình vào biểu tượng edit code
Bước 5: Nhập code dưới đây vào và lưu lại (góc phải màn hình có nút deploy)
addEventListener("scheduled", event => { event.waitUntil(handleScheduled(event)); }); async function handleScheduled(event) { try { const response = await fetch("https://vutruso.com/wp-cron.php?doing_wp_cron", { timeout: 30000 // Timeout 30 giây }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } console.log('WP Cron executed successfully'); } catch (error) { console.error('Error executing WP Cron:', error); } }
Bạn sửa domain vutruso.com thành của bạn nhé, nếu cần sửa timeout thì sửa ở 30000
Bước 6: Set thời gian chạy định kỳ
Bạn click nút quay lại và vào Settings -> Click vào Trigger Events -> Click vào nút add Trigger Events và chọn thời gian chạy mỗi bao nhiêu phút tuỳ ý
Ở ví dụ trong hình mình set chạy mỗi 10 phút tương ứng là */10 * * * *
Nếu bạn muốn chạy mỗi 5 phút thì */5 * * * *
hoặc chạy mỗi phút là */1 * * * *
Này tuỳ theo website của bạn, chạy tầng suất nhiều quá thì tốn tài nguyên host không cần thiết và có thể gặp giới hạn
Cloudflare Workers giới hạn requests là 100,000/ngày ở tài khoản miễn phí
Sau khi thêm xong thì bạn nên tắt cron ảo đi bằng cách mở file wp-config.php lên và thêm vào code sau vào cuối file
define('DISABLE_WP_CRON', true);
Theo dõi giới hạn trên Cloudflare