v2.5.2
Giriş yap

WP Cron ile birde fazla hook'u çalıştırmak?

obey00
387 defa görüntülendi

Merhabalar;
WordPress'te her saat çalışmasını istediğim 2 adet fonksiyon var. Ancak burada yapmak istediğim şöyle bir durum mevcut:
Hook'lardaki methodların çalışma sürelerini birbirlerine bağlı olarak belirlemek istiyorum.

Yani; cron ile belirttiğim 1. method çalıştıktan "5" dakika sonra 2. method çalışsın istiyorum.

  1. hook içerisindeki kodlar içerisinde ortalama 3-5 dakika içerisinde cevap aldığım servisler var. Dolayısı ile her şeyin düzgün çalışması için, 2. methodun, 1. methodtan 5-10 dakika sonra çalışması gerekiyor.
    Bunu nasıl sağlayabilirim?
ozancrk
1093 gün önce

İkincinin zamanlamasını bağlamak yerine yapacağı işlemi bağlamak daha kolay olur gibi sanki.
Tabii methodların işlemlerini bilmediğimden kaynak tüketimi konusunda yorum yapamayacağım.

Mesela öncelikle add_option() ile bir ayar oluşturun.

add_option('ikincikosul',0,1) 
/*
Bir kere oluşturduktan sonra buna bir daha ihtiyacınız olmayacak. 
Bir kere çalıştırın daha sonra alanadı/wp-admin/options.php adresinden oluşup oluşmadığını kontrol edin. 
Oluşmuş ise bu fonksiyonu kaldırabilirsiniz.
Bundan sonra update işlemi yapacağız.
*/

Daha sonra birincinin işlemi bittiğinde update_option('ikincikosul',1,1) ile bu ayarın değerini 1 yapın.

ikinci methodda ise zamanlamayı 15 dkya daraltın.
Esas yapması gereken işlemi yapmadan önce get_option('ikincikosul') ile bu ayarın değerini çekin.
1 ise işlemi yapsın.
İşlemin sonunda yeniden update_option('ikincikosul',0,1) ile eski haline getirsin.
ikinci method istediği kadar çalışsın birincisi koşulu 1 yapmadığı sürece esas yapması gereken işlemi yapmayacaktır.

https://developer.wordpress.org/reference/functions/get_option/
https://developer.wordpress.org/reference/functions/update_option/
https://developer.wordpress.org/reference/functions/add_option/