Cara Perbaiki Cron Jobs WordPress Menggunakan Cloudflare Worker
Cron Jobs biasanya menjadi masalah penyebab di beberapa situs WordPress untuk kecepatan. Jika Anda belum menonaktifkan tugas cron bawaan, setiap kali pengguna mengunjungi halaman Anda, atau Anda membuka area admin, tugas cron mungkin dipilih.
Pada artikel sebelumnya saya telah menulis lebih banyak tentang apa itu cron job, bagaimana WordPress menggunakan cron job, cara menonaktifkan inbuilt cron jobs dll disini. Jika Anda belum membacanya, silahkan membacanya terlebih dahulu sebelum melalui tutorial ini:
Dan tutorial kali ini untuk menyiapkan Cron Job eksternal menggunakan Cron Triggers baru dari Cloudflare Worker.
Daftar isi
Apa itu Cron Trigger dan Service Worker di Cloudflare?
Service Worker: Script custom yang dapat diterapkan ke jaringan edge Cloudflare (semua PoP). Kita dapat menulis fungsionalitas apa pun di sana dan Kode pun dijalankan di server tepi mereka. Sehingga tidak memberatkan web hosting kita.
Cron Trigger: Dalam sistem UNIX (seperti Linux), ‘crontab’ adalah daftar perintah yang ingin Anda jalankan secara teratur. Cron Trigger di Cloudflare memungkinkan kita untuk mengeksekusi Cron Job layanan sesuai jadwal.
Harga Cron Trigger & Service Worker
Tidak ada biaya tambahan untuk Cron Trigger. Anda dapat mengaktifkan nya pada Cloudflare secara gratis.
Setiap kali pemicu cron terjadi, skrip workers layanan dijalankan. Workers Layanan hadir dengan tingkat gratis 100 ribu permintaan per hari.
Katakanlah Anda menjalankan tugas cron setiap 10 menit; itu hanya menghitung 144 permintaan sehari (60/10 * 24). Jadi, gratis!
Setting Cron Trigger untuk WordPress
Masuk ke akun Anda Cloudflare Dashboard -> Workers
Klik ‘Buat Workers’ dan tempel script di bawah ini:
addEventListener("scheduled", event => {
event.waitUntil(handleScheduled(event))
})
async function handleScheduled(event) {
await fetch("https://example.com/wp-cron.php?doing_wp_cron")
}
CATATAN: Ganti “example.com” dengan nama domain Anda. jika ingin menambahkan subdomain Anda tinggal menambahkan script menjadi
addEventListener("scheduled", event => {
event.waitUntil(handleScheduled(event))
})
async function handleScheduled(event) {
await fetch("https://example.com/wp-cron.php?doing_wp_cron")
await fetch("https://sub.example.com/wp-cron.php?doing_wp_cron")
await fetch("https://example.blog.com/wp-cron.php?doing_wp_cron")
}
Klik ‘Simpan dan terapkan’.
Sekarang, kembali dan buka tab ‘Triggers’ dan klik ‘Add Cron Triggers’.
Secara default, ini akan menjadi ‘Setiap 30 menit’. Anda tinggal mengkonfigurasinya menjadi setiap 10 menit agar itu bekerja dengan baik.
Klik ‘Simpan’, dan selesai!
Video tutorial
Nonaktifkan Cron Job bawaan WordPress
Pastikan untuk menonaktifkan Cron Job inbuilt di WordPress Anda. Jika tidak, tidak ada gunanya mengonfigurasi pekerjaan cron eksternal!
Tambahkan baris berikut ke wp-config.php file sebelum /* That’s all, stop editing! Happy publishing. */.
define('DISABLE_WP_CRON', true);
Jika Anda tidak memiliki akses ke File Manager dari cPanel atau penyedia hosting Anda tidak menyediakannya, instal WP File Manager . Ini akan memberi Anda pengelola file tepat di dalam admin WP Anda.
Hasil dari Cron Job WordPress pada Worker Cloudflare
Dan berikut ini adalah hasil dari konfigurasi diatas ketika sudah aktif. Bila mana cara setting tidak aktif Anda bisa mengulanginya secara perlahan.