Skontrolujte, či je WP-Cron povolený, či vzniká spúšťacia požiadavka a aké udalosti meškajú. Nájdite hook, vlastníka a chybu callbacku, nie iba počet položiek. Pri spoľahlivom serveri možno WP-Cron spúšťať systémovým cronom; úlohy musia byť idempotentné a monitorované.
WP-Cron spúšťa naplánované úlohy WordPressu, napríklad publikovanie článku, čistenie dočasných dát alebo synchronizáciu. Na rozdiel od systémového plánovača sa štandardne aktivuje návštevou webu. Na málo navštevovanom webe môže úloha meškať, pri vysokej záťaži sa zasa spúšťanie môže prekrývať alebo blokovať. Pluginy navyše pridávajú vlastné udalosti a nie vždy po odinštalovaní upracú plán.
Keď sa neodošle e-mail alebo neprebehne import, tím často ručne spustí ďalší pokus bez zistenia stavu. Tak môžu vzniknúť duplicity alebo väčší front. Diagnostika potrebuje názov hooku, plánovaný čas, argumenty, posledný výsledok a aplikačné logy. Pri WooCommerce sa môže používať aj Action Scheduler, ktorý má vlastné úložisko a administračný pohľad.
Pochopte spúšťanie a časové očakávania
WordPress uloží udalosť na najbližší čas, no štandardný WP-Cron ju nevykoná presne ako hodiny. Po uplynutí času potrebuje požiadavku, ktorá iniciuje spracovanie. Preto plánované publikovanie na tichom intranete môže prísť neskôr. Časové pásmo administrácie, servera a dát uložených v UTC musí byť zrozumiteľné pri diagnostike.
Naplánovaná úloha nemá automaticky bežať v každom intervale, ak predchádzajúca stále pracuje. Použite zámok alebo front podľa typu úlohy a nastavte maximálne trvanie. Pri kritickej integrácii definujte prijateľné oneskorenie. Úloha, ktorá môže počkať hodinu, nepotrebuje rovnakú infraštruktúru ako spracovanie objednávky.
Inventarizujte hooky, intervaly a vlastníkov
Zobrazte zoznam udalostí s názvom hooku, ďalším spustením, intervalom a argumentmi. Identifikujte plugin alebo vlastný kód, ktorý každý hook registruje. Podozrivé sú udalosti s neexistujúcim callbackom, nezvyčajne krátkym intervalom, veľkým počtom jednorazových položiek alebo argumentmi rastúcimi pri každom pokuse. Neodstraňujte hook len podľa cudzieho názvu.
Pri deaktivácii pluginu overte, či plán korektne zruší. Opustená udalosť môže opakovane vyvolávať chybu. Vlastný plugin má registráciu robiť pri aktivácii, zabrániť duplicitám a pri deaktivácii upratať svoje hooky. Evidujte, ktoré úlohy sú obchodne kritické a kam smeruje upozornenie, keď sa dlhšie nespustia.
- Hook a jeho callback
- Interval a ďalší čas
- Argumenty a ochrana pred duplicitou
- Prevádzkový vlastník a priorita
Diagnostikujte chybu callbacku a zámku
Úloha môže byť správne naplánovaná, ale zlyhať v PHP chybe, timeoute, nedostatku pamäte alebo odpovedi API. Zapnite bezpečné logovanie do súboru mimo verejného výstupu a spustite konkrétny hook na stagingu s rovnakými argumentmi. Korelačný identifikátor pomôže sledovať jeden pokus cez front a externý systém. Do logu nevkladajte tajomstvá ani celé osobné dáta.
Dočasný cron lock bráni súbežnému spusteniu, no po páde môže vzniknúť zdanlivo zaseknutý stav alebo naopak paralelné spracovanie. Overte čas a vlastníka zámku pred jeho ručným odstránením. Úloha musí bezpečne zvládnuť opakovanie, aby zásah nevytvoril druhú objednávku, e-mail alebo faktúru. Trvalá chyba má prejsť do viditeľného stavu.
Rozlišujte WP-Cron a Action Scheduler
Action Scheduler používa mnoho e-commerce rozšírení na spracovanie frontov a eviduje pending, complete, failed a canceled akcie. Veľký počet dokončených záznamov nemusí byť problém, rastúci vek čakajúcich už áno. Skontrolujte skupinu, hook, počet pokusov a log konkrétnej akcie. Hromadné mazanie nevyrieši callback, ktorý stále zlyháva.
Front spracúvajte po dávkach primeraných serveru. Príliš veľký súbeh môže vyčerpať databázové spojenia, príliš malý nedobehne príchod nových položiek. Retenciu dokončených záznamov nastavte podľa diagnostickej potreby. Pri migrácii webu overte, že sa staré a nové prostredie nespúšťajú súčasne proti rovnakým externým systémom.
- Vek najstaršej čakajúcej akcie
- Opakujúca sa príčina zlyhania
- Primeraná veľkosť dávky
- Iba jedno aktívne produkčné prostredie
Systémový cron zaveďte kontrolovane
Na spravovanom serveri možno vypnúť spúšťanie pri návštevách a volať WordPress cron systémovým plánovačom v pravidelnom intervale. Zmena znižuje závislosť od návštevnosti, no iba ak je serverová úloha správne nakonfigurovaná a monitorovaná. Najprv overte cestu, používateľa, prostredie, timeout a logovanie. Nezapínajte obe cesty bez rozmyslu.
Po prechode vytvorte syntetickú skúšobnú udalosť a sledujte čas vykonania. Upozornenie má zachytiť chýbajúci beh, rast frontu aj opakovanú chybu kritického hooku. Runbook vysvetlí bezpečné ručné spustenie a kontrolu výsledku. Spoľahlivý plánovač je ten, ktorého zlyhanie tím vidí skôr než zákazník.
Časté otázky
Prečo sa naplánovaný WordPress článok nepublikoval načas?
WP-Cron môže čakať na návštevu, byť vypnutý alebo zlyhať pri spustení. Skontrolujte časové pásmo, plánovanú udalosť, cron požiadavku a PHP log. Na tichom webe môže pomôcť monitorovaný systémový cron.
Môžem vymazať všetky neúspešné Action Scheduler úlohy?
Najprv zistite hook, vlastníka a príčinu. Vymazanie odstráni diagnostickú stopu a úloha sa môže znova vytvoriť. Po oprave rozhodnite, ktoré akcie bezpečne zopakovať, zrušiť alebo ponechať v histórii.
Ako často spúšťať systémový cron pre WordPress?
Interval vychádza z najkratšieho požadovaného času a kapacity servera. Neexistuje jedna hodnota pre každý web. Kritické procesy môžu potrebovať častejší beh, bežné čistenie výrazne menej; výsledok treba monitorovať.



