WordPress Cron İşleri Nasıl Yönetilir
Yayınlanan: 2021-05-14
Birçok WordPress geliştiricisi, özellikle yeni başlayanlar, "WordPress cron işleri nasıl yönetilir?" ile ortak bir "WordPress cron nedir" sorusuna sahiptir. yakın bir saniye.
Cevap basit: Bu makalede ana hatlarıyla anlatacağım WordPress cron işleri yönetimi yöntemlerinden herhangi birini kullanın.
- WordPress Cron nedir?
- WordPress Cron İşi Nasıl Yönetilir
- Eklenti ile WordPress Cron İşleri Nasıl Yönetilir
- Adım 1: WP Kontrol Eklentisini Kurun
- 2. Adım: Cron Olaylarını Görüntüleyin ve Anlayın
- 3. Adım: Cron Etkinliğini Düzenle
- 4. Adım: Özel Bir Zaman Aralığı Ekleme
- Adım 5: Yeni Bir Cron Etkinliği Ekleme
- WP CLI ile WordPress Cron İşleri Nasıl Yönetilir
- Eklenti ile WordPress Cron İşleri Nasıl Yönetilir
- Gerçek Bir Cron İşi Nasıl Kurulur
Cron, belirli bir saat, tarih veya aralıkta görev yürütmeyi (komut dosyası veya komut) zamanlamak için standart bir UNIX yardımcı programıdır. Yürüteceği görev, cron işi olarak bilinir. Tahmin edebileceğiniz gibi, bir cron işinin amacı, zamanınızı daha verimli kullanabilmeniz için tekrarlayan görevleri otomatikleştirmektir.
Bununla birlikte, WordPress cron işi standart cron'dan biraz farklıdır ve bu nedenle eyleme ve sürece dalmadan önce bir WordPress cronunun ne olduğunu ve nasıl çalıştığını anlamanız gerekir.
WordPress Cron nedir?
WordPress, güncellemeleri kontrol etme, yayın için bir gönderi planlama ve çöp kutusundan yorumları silme gibi görevleri zamanlamak için kendi cron sistemine sahiptir. Tüm cron işleri WP-Cron tarafından gerçekleştirilir.
İsim (ve ana fikir) UNIX cron'dan gelse de, WordPress cron'u böyle çalışmaz ve görev zamanlaması için aralıklar kullanır. WordPress tarafından sağlanan varsayılan zaman aralıkları saatlik, günde iki kez, günlük ve haftalıktır. Burada, zamana dayalı görevler sitenizi ziyaret eden kullanıcılara bağlıdır; bu, WordPress cronunun yalnızca bir kullanıcı web sitenizi ziyaret etmesi durumunda yürütüleceği anlamına gelir.
Başka bir deyişle, sayfa yüklendiğinde WordPress cronu yürütülür. Bazen bu o kadar güvenilir değildir ve bu yüzden birçok kullanıcı WP-Cron işi yerine sunucu düzeyinde bir cron işini tercih eder.
Bu yazıda size WordPress cron işlerini nasıl yöneteceğinizi ve WordPress siteniz için gerçek bir cron işi nasıl kuracağınızı göstereceğim.
WordPress Cron İşleri Nasıl Yönetilir
WordPress cron işlerini kurmanın ve yönetmenin birçok yolu var ama size iki popüler yöntem göstereceğim.
İlki, WordPress cron işlerini doğrudan WP panosundan eklemenize, değiştirmenize ve yönetmenize izin veren WP Crontrol gibi bir cron yönetim eklentisi kullanır. Ayrıca bir cron işi oluşturabilir, kancalar ve işlevler oluşturabilir ve görevler için özel zaman aralıkları tanımlayabilirsiniz.
Ve ikinci yöntem WordPress CLI ile.
Eklenti ile WordPress Cron İşleri Nasıl Yönetilir
WordPress uygulamanız için WordPress cron'unu görüntülemenize ve kontrol etmenize izin veren WP Crontrol eklentisini kullanacağım. WP cron işlerini işlemek için kullanılan popüler eklentidir ve 100.000'den fazla aktif kuruluma sahiptir.
Bu, WordPress cron işlerini yönetmenin en kolay yöntemidir ve WordPress cron olaylarını hızla görüntüleyebilir, düzenleyebilir, oluşturabilir, silebilir ve çok daha fazlasını yapabilirsiniz.
O halde başlayalım!
Adım 1: WP Kontrol Eklentisini Kurun
Diğer herhangi bir eklenti gibi, eklenti deposundan WP Crontrol'u kurmanız ve etkinleştirmeniz gerekir. Kurulduktan sonra, Araçlar sekmesinde yeni bir “Cron Olayları” seçeneğinin göründüğünü fark edeceksiniz.

2. Adım: Cron Olaylarını Görüntüleyin ve Anlayın
Ardından, Cron Events'e tıklamanız gerekiyor ve WordPress uygulamanızda çalışan cron olaylarının bir listesini göreceksiniz.

Bu bölümden cron olaylarınızı çalıştırabilir, düzenleyebilir ve silebilirsiniz. Farenizi herhangi bir cron olayının üzerine getirdiğinizde bu seçeneği göreceksiniz.
Ayrıca bu cron işleri hakkında faydalı bilgiler bulacak ve hangi cron işinin hangi amaçla kullanıldığını ve çok daha fazlasını hızlıca belirleyeceksiniz. İlk sütunda Hook, WordPress çekirdeği veya herhangi bir eklenti tarafından kullanılan kancanın adını gösterir. Örneğin, “ wp ” öneki, bunun sadece WordPress çekirdeğinin bir cronu olduğunu gösterir. Ayrıca, bu cron olaylarını silme seçeneğinin olmadığını ancak şimdi düzenle ve çalıştır seçeneklerini kullanabileceğinizi fark edeceksiniz. Benzer şekilde, eklentileriniz için başka öneklerin kullanıldığını fark edeceksiniz (örneğin, WooCommerce, “wc” veya “woocommerce” için).
İkinci sütun Bağımsız Değişkenler, yalnızca kanca işlevlerine iletilen bağımsız değişkenleri içerir.
Üçüncü sütun, bu cron işinin bir dahaki sefere ne zaman çalışacağını gösterir.
Dördüncü sütun Eylem , bu cron'un hangi eylemi gerçekleştireceğini gösterir (cron işinin "işlevi").
Son sütun, cron işlerinin yinelenme zamanlarını tanımlar. Bu temelde zamanlanmış görev için zaman aralığıdır.
3. Adım: Cron Etkinliğini Düzenle
Şimdi bu eklentiyi test etmek için bir WP cron işi düzenleyelim.
Bir kancanın adına gidin ve düzenle 'yi tıklayın. Farklı alanları göreceğiniz yeni bir “ Cron Etkinliğini Düzenle ” bölümü açılacaktır. Benim durumumda, “wp_privacy_delete_old_export_files” kancasını düzenledim. Sonra, bu cron işinin tekrarını “Her On Beş Dakikada” olarak değiştireceğim.

4. Adım: Özel Bir Zaman Aralığı Ekleme
Ardından, cron etkinlikleriniz için nasıl özel bir zaman aralığı ekleyeceğinizi göstereceğim. Bunun için “ Cron Schedule ” sekmesine tıklayın ve programlanmış zaman aralıklarının ayrıntılarını göreceğiniz yeni bir ekran açılacaktır. Ardından, “ Cron Programı Ekle ”yi göreceğiniz en alta gidin. Alanları doldurun ve Cron Programı Ekle tıklayın.


Aralık girişinin saniye cinsinden olduğuna dikkat edin. Aralığı 10 dakikaya ayarlamak için 600 saniye kullanacağım.
Artık cron etkinliğinizi düzenleyebilir ve kendi özel aralığınızla değiştirebilirsiniz.

Adım 5: Yeni Bir Cron Etkinliği Ekleme
Artık cron etkinlikleriniz için basit görevleri nasıl yöneteceğinizi biliyorsunuz, ancak ya WordPress uygulamanız için kendi cron işinizi eklemek istiyorsanız. Endişelenmeyin, bu kadar basit ve yapmanız gereken tek şey aşağıdaki talimatları takip etmek.
İlk olarak, Cron Etkinliği Ekle'ye tıklayın ve cron ekleme bölümüne gireceksiniz. Ardından, istediğiniz gibi bir kanca adı verin (normal PHP adlandırma kuralına uymalı ve boşluk bırakmamalısınız).
Ardından, argümanlar ekleyin (isteğe bağlıdır) ve benim durumumda boş. Ardından , herhangi bir seçeneği seçin ve Sonraki Çalıştır alanına bir süre girin. Son olarak, yeni cron'unuz için bir tekrarlama zamanı (program zamanı) seçin ve Add Event 'i tıklayın.

Bununla ilgili herhangi bir sorunuz varsa, çalışan herhangi bir cron işinin ayarlarını cron olaylarınızdan kontrol edebilirsiniz.
Yeni bir cron işi ekledikten sonra cron etkinlikleri sekmesine gidin ve yeni oluşturduğunuz cronunuzu kontrol edin. Eylem sütununda size Yok (hata) göstereceğini fark edeceksiniz. Bunun nedeni, bu cron işi için herhangi bir eylem tanımlamamış olmanızdır. Bu nedenle temanın function.php dosyasına birkaç satır kod yazmanız ve bir eylem eklemeniz gerekiyor.

Not: Daha ileri gitmeden önce WordPress sitesini yedeklemeniz şiddetle tavsiye edilir.
Dosyayı açalım ve <?php 'den hemen sonra aşağıdaki kod satırlarını ekleyelim:
add_action('cloudways_new_cron', 'cw_function');
function cw_function() {
wp_mail( '[e-posta korumalı]', 'Cloudways Cron', 'Cloudways - Yönetilen Bulut Barındırma!');
}E-posta adresimi kendi adresinizle değiştirmeyi unutmayın.

Yukarıdaki resimde görebilirsiniz, doğrudan WordPress panosu ile düzenledim. Dilerseniz bu dosyayı FileZilla gibi bir FTP istemcisi üzerinden düzenleyebilirsiniz.
Ardından, e-posta gelen kutusunu kontrol edelim ve mesajı alıp almadığımızı görelim.

Tada! Tamamlandı ve başarıyla yeni bir cron olayı ekledik.
WP CLI ile WordPress Cron İşleri Nasıl Yönetilir
Ayrıca tüm WordPress cron işlerinizi WordPress CLI'den görüntüleyebilir ve yönetebilirsiniz. Cloudways'de terminali başlatmanız ve sunucu kimlik bilgileriyle oturum açmanız gerekir.
Ardından, WordPress uygulamanızın yolunu yerleştirin. Benim durumumda, URL şuydu:
cd uygulamaları/urrghmpqks/public_html/

Ardından, bu komutu çalıştırmanız gerekir:
wp cron olay listesi

Kanca adını, sonraki çalıştırma zamanını, bir sonraki çalıştırma görelisini ve yinelemeyi (planlanan zaman) görebilirsiniz.
Gerçek Bir Cron İşi Nasıl Kurulur
Artık WordPress cron işinin ne olduğunu ve nasıl çalıştığını biliyorsunuz. Düşük trafik, belirli bir zamanda çalıştırılması gereken önemli görevler, aşırı DDoS saldırıları veya yüksek sayfa yükleme süresi gibi herhangi bir nedenle onu gerçek bir cron işi ile değiştirmek isterseniz ne olur?
O halde başlayalım!
Adım 1:wp-config.php Dosyasını Açın ve Düzenleyin
Öncelikle wp-config dosyasını FileZilla gibi bir FTP istemcisi veya puTTY gibi SSH istemcisi kullanarak açmanız gerekir. Bundan sonra, dosyayı düzenleyin ve aşağıdaki kod satırını yazan satırın önüne yerleştirin /* Hepsi bu, düzenlemeyi bırakın! Mutlu bloglama. */
Kod:
define('DISABLE_WP_CRON', true); 
Bu kod, WordPress sitenizde çalışan cron olaylarını devre dışı bırakır ve artık gerçek bir cron işi oluşturabilirsiniz.
Cloudways Platformu ile Gerçek Cron İşlerini Yönetin
3 Günlük Ücretsiz Deneme ile Başlayın
Adım 2: Sunucuya Yeni Bir Cron İşi Ekleme
Ardından, Cloudways platformunuza giriş yapın ve ardından Uygulama Yönetimi paneli > Cron İş Yönetimi > Gelişmiş bölümüne gidin.

Ardından aşağıdaki komutu ekleyin ve Değişiklikleri Kaydet'e tıklayın:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Yukarıdaki komutta öncelikle cron işi için beş dakikalık bir aralık tanımladım. Zaman çizelgesi ifadesini kontrol etmek için bu siteyi kullanabilirsiniz. Benim durumumda */5 * * * * aralık ifadesidir.
Tebrikler! Gerçek bir cron işini başarıyla eklediniz.
Son sözler!
Umarım bu makale WordPress cron işinin nasıl çalıştığını anlamanıza yardımcı olmuştur. WordPress cron işlerini yönetmek için iki yöntemden bahsettim; biri bir eklenti aracılığıyla, diğeri WP-CLI aracılığıyla. Canlı bir sunucuda gerçek bir cron işinin nasıl kurulacağını da tartıştım.
Herhangi bir sorunuz varsa, lütfen aşağıdaki yorum bölümünde bana bildirin.
