Kategoriler
WordPress

Windows Server Üzerinde Gerçek WordPress Cron Jobs İşlevi Nasıl Çalıştırılır?

Cron, Unix-Linux sistemlerinde planlanmış komutları düzenli aralıklarla yürütmek için kullanılır. Çoğu web sunucusu, sunucu kararlılığını korumak ve zamanlanmış görevleri yürütmek için bu özelliği kullanır.

WordPress, güncellemeleri kontrol etmesine, eski yorumları çöp kutusundan kaldırmasına, gönderileri istenilen tarihde yayınlamasına ve diğer zamanlanmış görevleri gerçekleştirmesine olanak tanıyan özel bir cron sistemine sahiptir.
Ayrıca WordPress eklentileri de sizin belirlediğiniz görevleri gerçekleştirmek için bu işlevsellikten yararlanır. Örneğin, WordPress yedekleme eklentiniz, farklı içerikleri belirli zamanlarda yedeklemek için WordPress cron sisteminden faydalanabilir.
Wp-Cron bir kullanıcı ziyareti ile tetiklenir ve belirtilen görev süresi içinde bir ziyaret gerçekleşmemiş olursa, işlev yürütülmeyecektir.
WP-Cron, çeşitli kararsızlıklardan dolayı web sitesini yavaşlattığı ve paylaşımlı barındırma sunucularında birçok soruna neden olduğu için, devre dışı bırakılarak gerçek cron sistemine geçiş yapılmalıdır.
Bunun için wp-config.php dosyasında veritabanı bilgileri bölümünde“define(‘DB_COLLATE’, ”);” satırından sonra Aşağıdaki kodu eklemek yeterli olacaktır.

“define(‘DISABLE_WP_CRON’, true);”.

Linux işletim sisteminde paylaşımlı bir host kullanıyorsanız cPanel veya direct admin üzerinden ve ya özel VPS sunucuya sahipseniz SSH üzerinden komutlar aracılığıyla farklı zamanlarda otomatik olarak çalıştırabileceğiniz Cron fonksiyonları oluşturmanız mümkündür.

Windows kurulu sunucularda ise, Görev Zamanlayıcı bileşeni aracılığıyla cron işlevleri oluşturulabilmektedir.

Görev Zamanlayıcı, cron job’un tüm görevlerini yürütebilme olanağına sahiptir. Sadece platform ve kullanıcı arayüzü açısından farklılık gösterir.

Windows sunucularda “Retrieve URL” gibi zamanlanmış görevleri çalıştırmak için powershell özelliğinin etkinleştirilmesi gerekir. Powershell özelliği aktif olmazsa, WordPress cronjob işlemlerinin çalışması mümkün olmayacaktır.

Powershell bazı güvenlik sorunlarına neden olduğundan, kullanıcıların verilerinin güvenliğinin sağlanması ve oluşturulan yapının kararlı bir şekilde çalışması amacıyla paylaşımlı sunucularda genellikle devre dışı bırakılır.

Bu nedenle PHP tabanlı yazılımı Windows sunucuda çalıştırmak istiyorsanız paylaşımlı hosting yerine özel bir sunucu veya (VPS) sizin için daha pratik bir seçim olacaktır.

Öncelikle “Denetim Masası\Tüm Denetim Masası Öğeleri\Yönetimsel Araçlar” kısmından “Görev Zamanlayıcı”ya tıklayın.
Daha sonra ağaç görünümü kısmında sağ tıklayıp açılan menüden “Görev Oluştur” komutunu çalıştırın.
“Genel” sayfasının üst kısmında görevin adını belirtiyoruz.
“Fonksiyonlar” kısmında “Yeni…” butonuna tıklayarak ilk olarak “Action” kısmından “Program başlat” seçeneğini seçiyoruz. “Program/komut” alanına “Powershell” yazıyoruz.
“Argüman ekle (isteğe bağlı)” bölümüne “Invoke-WebRequest https://alanadınız.com/wp-cron.php” komutunu girin ve Tamam butonuna tıklayın.
“Tetikleyiciler” bölümünden “Yeni” seçeneğine tıklayın ve “Tek seferlik” seçeneğini seçin ve “Başlangıç” bölümünü “Zamanlamaya göre” olarak değiştirin.
“Görevi her tekrarla” süresini 10 dakikadan bir saate kadar seçip, Tamam diyoruz. tekrar Tamam tuşuna bastığımızda yeni görevi kaydediyoruz.

WordPress eklenti dizininde zamanlanmış görevleri yönetmek için ücretsiz ve özel çok amaçlı eklentiler bulmak mümkün olsa da, popüler kontrol panelleri olmayan Windows sunucularında nasıl performans gösterdikleri hakkında çoğu zaman geliştirici kurulum kılavuzlarında gerekli bilgiler mevcut olmayabiliyor.

Farsça