Diréktori Tulisan
Hal anu paling parah pikeun server wéb sanés downtime, tapi kaganggu ku tugas anu teu aya hartina.
在 WordPress Dina dunya WP-Cron, éta téh siga jam nu teu katingali, nu ngajadwalkeun rupa-rupa tugas nu boga waktu sacara teu langsung.
Mimitina mah ieu alat téh mangrupa alat anu mangpaat, tapi mindeng jadi alat anu teu katingali anu ngalambatkeun kinerja alatan "tugas zombie" anu tinggaleun saatos ngahapus plugin.
Sifat sareng bahaya anu disumputkeun tina WP-Cron
WP-Cron sanés Cron tingkat sistem, tapi mékanisme tugas anu dijadwalkeun anu disimulasikeun ku WordPress sorangan.
Éta ngan ukur mariksa naha aya tugas anu kedah dilaksanakeun nalika dipicu ku aksés pangguna.
Ieu ngandung harti yén upami plugin ngadaptarkeun tugas sadidinten, tugas éta tiasa tetep aya sanaos plugin éta parantos dipasang.
Hasilna nyaéta WordPress nyobian ngajalankeun hook anu bahkan teu aya unggal dinten.
Ieu teu ngan ukur miceunan sumber daya, tapi ogé tiasa nyababkeun akumulasi rékaman anu teu valid dina database.
Numutkeun dokuméntasi resmi pamekar WordPress, penjadwalan tugas WP-Cron gumantung kana... _get_cron_array() Pikeun meunangkeun sadaya tugas anu kadaptar.
Upami fungsi anu pakait sareng hook éta teu aya deui, sistem éta bakal tetep nyobian ngajalankeunana, tapi pamustunganana éta ngan ukur bakal muter tanpa tujuan.
Naha kedah ngabersihkeun tugas anu dijadwalkeun anu teu valid?
Bayangkeun situs WordPress anjeun sapertos kantor.
Karyawan sumping tepat waktu unggal dinten, tapi aya ogé anu parantos kaluar ti perusahaan.
Nomer ID karyawan maranéhanana masih aya dina sistem, sareng mesin absensi nuju ngantosan aranjeunna pikeun ngagesek kartu unggal dintenna.
Ieu mangrupikeun operasi CRON anu teu valid.
Mun teu dibersihkeun lila-lila, database bakal ngandung... wp_options Méja éta bakal pinuh sareng janten teu sah. _transient data.
Anu langkung parah deui, seringna pamariksaan anu teu valid ningkatkeun beban palaksanaan dina PHP.
Panalungtikan nunjukkeun yén langkung ti [number] situs wéb WordPress 30% runtah kinerjaIeu disababkeun ku padamelan CRON anu teu valid atanapi kaleuleuwihan (Sumber: Analisis Téknis Majalah Smashing).
Implementasi kode pikeun ngahapus tugas anu teu valid sacara otomatis
Solusina sabenerna lumayan elegan.

Urang ngan ukur kedah ngajalankeun skrip deteksi unggal dinten pikeun nyeken sadaya tugas anu dijadwalkeun, sareng upami éta mendakan yén fungsi anu saluyu sareng hook éta teu aya deui, éta bakal ngahapusna.
Kode fungsi ieu tiasa ngahontal ieu:
add_action('wpcwl_remove_invild_crons', function(){
global $wp_filter;
$wp_crons = _get_cron_array();
foreach ($wp_crons as $timestamp => $wp_cron) {
foreach ($wp_cron as $hook => $dings) {
if(empty($wp_filter[$hook])){
foreach( $dings as $sig=>$data ) {
wp_unschedule_event($timestamp, $hook, $data['args']);
}
}
}
}
});
if(!wp_next_scheduled('wpcwl_remove_invild_crons')) {
wp_schedule_event( time(), 'daily', 'wpcwl_remove_invild_crons' );
}
Kode ieu ngalakukeun tilu hal:
- Ngalakukeun deui sadaya tugas anu dijadwalkeun: lulus
_get_cron_array()Candak deui tugas anu ayeuna kadaptar. - Uji naha pancingna efektif:upami
$wp_filter[$hook]Upami kosong, éta hartosna teu aya fungsi anu saluyu pikeun hook ieu. - Hapus tugas anu teu valid: nelepon
wp_unschedule_event()Hapus tugasna.
Pamungkas, éta ogé ngadaptarkeun tugas sapopoé pikeun mastikeun beberesih otomatis unggal dinten.
Analisis anu jero ngeunaan logika kode
Seueur jalmi anu mendakan kode ieu rumit, tapi logika na saleresna saderhana pisan:
- Putaran kahiji: Iterate sadaya tugas dumasar kana cap waktu.
- Putaran kaduaPariksa tugas dumasar kana nami hook.
- Putaran katiluBeresihan tugas ku tanda tangan tugas sareng parameter hiji-hiji.
Métode nyarang tilu tingkat ieu mastikeun yén teu aya tugas anu teu valid anu sono.
jeung wp_unschedule_event() Ieu mangrupikeun metode panyabutan anu sacara resmi disarankeun ku WordPress, sareng éta ogé bakal ngabersihkeun rékaman anu aya hubunganana dina database.
Skenario aplikasi di dunya nyata
Salaku conto.
Anjeun masang hiji SEO Plugin ieu ngahasilkeun peta situs unggal dintenna.
Anjeun engké ngahapus plugin éta, tapi padamelan CRON-na tetep aya.
Hasilna nyaéta WordPress nyobian ngajalankeun unggal dinten. seo_generate_sitemap Pancing ieu.
Kusabab fungsina teu aya deui, sistem ngan ukur tiasa jalan tanpa hasil.
Upami anjeun ngaktipkeun kode di luhur, tugas anu teu valid ieu bakal otomatis dibersihkeun énjingna.
Pangaruh paningkatan kinerja
Dumasar kana data uji anu saleresna, situs wéb WordPress ukuran sedeng (sakitar 50 plugin) saatos ngaktipkeun beberesih otomatis:
- Pamundut basis data dikirangan 12%.
- Laju muka halaman parantos ningkat 0.3 detik.
- Tugas anu teu valid sadidinten dikirangan 20+.
Data ieu asalna tina ékspérimén komparatif dina laporan kinerja WP Engine.
Praktik pangsaéna sareng saran optimasi
Salian ti beberesih otomatis, ieu aya sababaraha saran optimasi:
- Pariksa operasi CRON sacara rutinNgagunakeun plugin sapertos WP Crontrol, anjeun tiasa ningali sadaya tugas sacara visual.
- Ngurangan plugin anu teu perluNalika ngahapus instalasi plugin, langkung saé ngahapus tugas anu dijadwalkeun sacara manual.
- Anggo Cron tingkat sistemPikeun situs wéb anu sering dikunjungi, disarankeun pikeun mareuman WP-Cron sareng nganggo server Cron server anu saleresna.
Ieu nyingkahan masalah katergantungan aksés WP-Cron sareng langkung stabil.
Kacindekan: Jaga WordPress tetep dina ritme anu bersih
Tugas anu dijadwalkeun dina WordPress téh siga grup musik.
Unggal plugin téh siga musisi, masing-masing maénkeun peran sorangan pikeun nyiptakeun melodi anu harmonis.
Tapi upami para musisi parantos angkat tapi lambaran musikna masih aya, éta ngan ukur ribut.
Ngahapus sacara otomatis padamelan CRON anu teu valid bakal ngabersihkeun gangguan ieu, ngajaga sistem tetep jalan kalayan lancar.
Dina jaman digital, efisiensi nyaéta kahirupan.
Kinerja hiji ramatloka teu ngan ukur gumantung kana éfék front-end-na anu keren, tapi ogé kana manajemen back-end-na anu teliti.
Nguasaan kode ieu bakal masihan anjeun kamampuan pikeun WordPress nyageurkeun diri.
Sapertos anu kantos di carioskeun ku Hegel, "Kabébasan sanés ngalakukeun naon waé anu anjeun pikahoyong, tapi nahan diri."
Ngan ku cara ngajarkeun WordPress anjeun pikeun disiplin diri, anjeun tiasa leres-leres ngaleupaskeun kakuatan kabébasan.
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ Artikel "Rahasia Ngagancangkeun Website WordPress: Ngahapus Tugas Terjadwal CRON Anu Teu Valid sacara Otomatis" anu dibagikeun di dieu tiasa ngabantosan anjeun.
Wilujeng ngabagikeun tautan artikel ieu:https://www.chenweiliang.com/cwl-33971.html
