CloudFlare Workers Kullanarak Harici Cronjob İşlerinin Yapılması

CloudFlare geçtiğimiz günlerde workers üzerinden zamanlanmış işleri yapmaya imkan tanıyan özelliğini Introducing Cron Triggers for Cloudflare Workers adıyla duyurdu. Bu özellik sayesinde yapılması gereken zamanlanmış işleri CloudFlare üzerinden gerçekleştirebiliyoruz.

Wordpress’te özellikle insanların başını ağrıtan dahili cronjob ile anlatacağım nasıl kullanılacağını bu özelliğin, normal şartlar altında wordpress’de sayfaya birisi girdiği anda varsa cronjob işlemleri tetiklenir, yönetici sayfası veya yazılar fark etmeksizin bu özellik çalışır.

Peki bu servis ücretli mi? Tabii ki de hayır

Ana sayfada sağda “Workers” alanına giriş yaparak bu süreci çok basit bir şekilde başlatabilirsiniz.

cloudflare workers giris, cloudflare cronjob triggerPin

Hemen “Create Worker” diyoruz.

cloudflare create worker, cloudflare worker oluşturmaPin

Size kocaman bir alanda solda javascript kod yazabileceğiniz bir alan sağda ise bunun ön izlemesi olacak, soldaki alana aşağıdaki kodumuzu giriyoruz, zamanlanmış görevi oluşturuyoruz. Kendinize göre bunu düzenlemeyi unutmayın.

addEventListener("scheduled", event =>; {
  event.waitUntil(handleScheduled(event))
})

async function handleScheduled(event) {
  await fetch("https://mertcangokgoz.com/wp-cron.php?doing_wp_cron")
}

Şu şekilde gözükecek

cloudflare worker deploy, worker deploymentPin

Ardından “Save and Deploy” tuşuna basıyorsunuz ve güzelce workerınız kullanıma hazır oluyor. Ardından workerımızın alanına geri geliyoruz. Sıra zamanlanmış triggerimizi ayarlamaya geldi. Workerın altında yer alan “Triggers” alanına geçiş yapıyoruz.

cloudflare cron trigger, zamanlanmış workerlar, cloudflare triggerPin

“Add Cron Trigger” diyoruz ve artık normal cronjob ayarlar gibi ne kadar zaman aralıkla çalışacağını seçiyoruz, ben wordpress’te bu örneği anlattığım için 5 dakikalık aralar ile çalışmasını istiyorum.

trigger ayarlama, cronjob zamanlama, cloudflare cronjob settingsPin

Kaydettiğimiz andan itibaren worker belirlenen sürelerde ayağa kalkacak ve işini yapıp kapanacak. Başınıza iş olacak bütün cronjob işlerini bu şekilde yapabilirsiniz.

Wordpress WP Cron Nasıl Kapatılır?

Tüm bu işlemlerden sonra mümkünse Wordpress’in kendi özelliklerinden bir tanesi olan WP Cron kapatmanızdır. Bu sayede artık Cronjob işleri kullanıcıların sayfa gezintilerinde değil yukarıda belirlediğimiz aralıklarla çalışacak. Cron ile ilgili sorunlarınızın pek çoğunuda bu şekilde çözüme kavuşturabilirsiniz.

define('DISABLE_WP_CRON', true); 

Sistem Uzmanı, Linux Hacısı, El-Kernel

“CloudFlare Workers Kullanarak Harici Cronjob İşlerinin Yapılması” üzerine 2 yorum

  1. Merhaba, aynı zamanda WordPress config dosyasında define(‘DISABLE_WP_CRON’, true) ; yapmamız gerekmiyor mu?

    Yanıtla
    • Merhaba

      Evet config dosyasında WP Cron kapatılmasıda gerekiyor, eklemeyi unutmuşum gerekli düzenlemeyi yapıyorum. Uyarı ve yorumunuz için çok teşekkür ederim.

Yorum yapın