Siri za Kuharakisha Tovuti ya WordPress: Ondoa Kiotomatiki Kazi Batili Zilizopangwa za CRON

Jambo baya zaidi kwa seva ya wavuti si muda wa kutofanya kazi, bali ni kuburuzwa na kazi zisizo na maana.

katika WordPress Katika ulimwengu wa WP-Cron, ni kama saa isiyoonekana, ikipanga kazi mbalimbali kwa wakati kimya kimya.

Hapo awali ilikuwa zana muhimu, lakini mara nyingi huwa muuaji asiyeonekana ambaye hupunguza kasi ya utendaji kutokana na "kazi za zombie" zinazoachwa baada ya kuondoa programu-jalizi.

Asili na hatari zilizofichwa za WP-Cron

WP-Cron si Cron ya kiwango cha mfumo, bali ni utaratibu wa kazi uliopangwa unaoigwa na WordPress yenyewe.

Huangalia tu ikiwa kuna kazi zozote za kutekelezwa zinapoanzishwa na ufikiaji wa mtumiaji.

Hii ina maana kwamba ikiwa programu-jalizi itasajili kazi ya kila siku, kazi hiyo inaweza bado kuwepo hata kama programu-jalizi itaondolewa.

Matokeo yake ni kwamba WordPress inajaribu kutekeleza ndoano ambayo haipo hata kila siku.

Hii sio tu kwamba inapoteza rasilimali, lakini pia inaweza kusababisha mkusanyiko wa rekodi batili katika hifadhidata.

Kulingana na nyaraka rasmi za msanidi programu wa WordPress, ratiba ya kazi ya WP-Cron inategemea... _get_cron_array() Ili kurejesha kazi zote zilizosajiliwa.

Ikiwa kitendakazi kinacholingana na ndoano hakipo tena, mfumo bado utajaribu kukifanya, lakini mwishowe kitakuwa kinazunguka tu bila lengo.

Kwa nini kusafisha kazi zisizo sahihi zilizopangwa?

Fikiria tovuti yako ya WordPress kama ofisi.

Wafanyakazi hufika kwa wakati kila siku, lakini baadhi yao tayari wameacha kampuni.

Nambari zao za vitambulisho vya wafanyakazi bado ziko kwenye mfumo, na mashine ya mahudhurio inawasubiri watelezeshe kadi zao kila siku.

Huu ni operesheni batili ya CRON.

Ikiwa haitasafishwa kwa muda mrefu, hifadhidata itakuwa na... wp_options Jedwali litajazwa na kuwa batili. _transient data.

Mbaya zaidi, ukaguzi batili wa mara kwa mara huongeza mzigo wa utekelezaji kwenye PHP.

Utafiti unaonyesha kwamba tovuti nyingi zaidi ya [idadi] za WordPress Upotevu wa utendaji wa 30%Hii inatokana na kazi za CRON zisizo sahihi au zilizozimwa (Chanzo: Uchambuzi wa Kiufundi wa Jarida la Smashing).

Utekelezaji wa msimbo kwa ajili ya kuondoa kiotomatiki kazi batili

Suluhisho kwa kweli ni la kifahari sana.

Siri za Kuharakisha Tovuti ya WordPress: Ondoa Kiotomatiki Kazi Batili Zilizopangwa za CRON

Tunahitaji tu kuendesha hati ya kugundua kila siku ili kuchanganua kazi zote zilizopangwa, na ikigundua kuwa chaguo-msingi linalolingana na ndoano halipo tena, itaiondoa.

Nambari ifuatayo ya kazi inaweza kufanikisha hili:

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

Nambari hii hufanya mambo matatu:

  1. Rudia kazi zote zilizopangwa:pita _get_cron_array() Rejesha kazi zilizosajiliwa sasa.
  2. Jaribu kama ndoano inafanya kazi vizuri:ikiwa $wp_filter[$hook] Ikiwa ni tupu, inamaanisha kuwa hakuna chaguo-msingi linalolingana na ndoano hii.
  3. Ondoa kazi zisizo sahihi: simu wp_unschedule_event() Futa kazi.

Hatimaye, pia ilisajili kazi ya kila siku ili kuhakikisha usafi wa kiotomatiki kila siku.

Uchambuzi wa kina wa mantiki ya msimbo

Watu wengi hupata msimbo huu kuwa mgumu, lakini mantiki yake ni rahisi sana:

  • Kizunguko cha kwanza: Rudia kazi zote kwa muhuri wa muda.
  • Kizunguko cha piliAngalia kazi kwa jina la ndoano.
  • Kizunguko cha tatuSafisha kazi kwa saini ya kazi na vigezo kimoja baada ya kingine.

Mbinu hii ya kuweka viota vya ngazi tatu inahakikisha kwamba hakuna kazi batili inayokosekana.

na wp_unschedule_event() Hii ndiyo njia ya kuondoa iliyopendekezwa rasmi na WordPress, na pia itasafisha rekodi zinazohusiana katika hifadhidata.

Hali halisi ya matumizi

Kwa mfano.

Umesakinisha moja SEO Programu-jalizi hutoa ramani ya tovuti kila siku.

Baadaye uliondoa programu-jalizi, lakini kazi yake ya CRON ilibaki.

Matokeo yake ni kwamba WordPress inajaribu kutekeleza kila siku. seo_generate_sitemap Ndoano hii.

Kwa kuwa kitendakazi hakipo tena, mfumo unaweza kufanya kazi bure tu.

Ukiwasha msimbo hapo juu, kazi hii batili itasafishwa kiotomatiki siku inayofuata.

Athari ya uboreshaji wa utendaji

Kulingana na data halisi ya majaribio, tovuti ya ukubwa wa kati ya WordPress (takriban programu-jalizi 50) baada ya kuwezesha usafishaji kiotomatiki:

  • Maswali ya hifadhidata yamepunguzwa 12%.
  • Kasi ya kupakia ukurasa imeimarika Sekunde 0.3.
  • Kazi batili za kila siku zimepunguzwa 20+.

Data hizi zinatokana na majaribio ya kulinganisha katika ripoti ya utendaji ya WP Engine.

Mapendekezo bora ya mbinu na uboreshaji

Mbali na usafishaji kiotomatiki, hapa kuna mapendekezo machache ya uboreshaji:

  • Kagua shughuli za CRON mara kwa maraKwa kutumia programu-jalizi kama vile WP Crontrol, unaweza kuona kazi zote kwa macho.
  • Punguza programu-jalizi zisizohitajikaUnapoondoa programu-jalizi, ni vyema kufuta kazi zake zilizopangwa mwenyewe.
  • Tumia Cron ya kiwango cha mfumoKwa tovuti zenye trafiki nyingi, inashauriwa kuzima WP-Cron na kutumia seva halisi ya Cron ya seva badala yake.

Hii huepuka matatizo ya utegemezi wa ufikiaji wa WP-Cron na ni thabiti zaidi.

Hitimisho: Weka WordPress katika mdundo safi

Kazi zilizopangwa za WordPress ni kama bendi.

Kila programu-jalizi ni kama mwanamuziki, kila moja ikicheza jukumu lake ili kuunda wimbo wenye upatano.

Lakini kama wanamuziki tayari wameondoka lakini muziki wa karatasi bado upo, hiyo ni kelele tu.

Kuondoa kiotomatiki kazi batili za CRON husafisha kelele hii, na kuifanya mfumo uendelee kufanya kazi kwa kasi safi.

Katika enzi ya kidijitali, ufanisi ni maisha.

Utendaji wa tovuti hautegemei tu athari zake nzuri za mbele, bali pia usimamizi wake makini wa nyuma.

Kuelewa kanuni hii kutakupa uwezo wa WordPress kujirekebisha.

Kama Hegel alivyowahi kusema, "Uhuru si kufanya chochote unachotaka, bali ni kujizuia."

Ni kwa kufundisha WordPress yako nidhamu pekee ndipo unaweza kuachilia nguvu ya uhuru.

发表 评论

Barua pepe yako haitachapishwa. 必填 项 已 用 * 标注

Saraka ya Nakala
Kitabu ya Juu