Pazartesi, Kasım 4, 2024

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

yüksek çözünürlüklü cloudflare logosu, full hd cloudflare workers logo

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 trigger

Hemen “Create Worker” diyoruz.

cloudflare create worker, cloudflare worker oluşturma

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 deployment

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 trigger

“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 settings

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);