iControlWP

Ebben a cikkben elmagyarázzuk:

  • Mi a WP Cron?
  • Hogyan működik?
  • Miért nem működik?
  • Milyen problémákat okoz a WP Cron hibája?
  • Hogyan javítható a WP Cron

Szóval, kezdjük el…

Mi az a WP Cron?

A Cron egy UNIX parancs a valamikor a jövőben végrehajtandó feladatok ütemezésére. Általában egy periodikusan végrehajtandó feladat ütemezésére használják.

A WordPress egy wp-cron nevű fájlt használ.php virtuális cron munkaként, vagy ütemezett feladatként, hogy automatizáljon olyan dolgokat, mint

  • időzített bejegyzések közzététele
  • plugin vagy téma frissítések ellenőrzése
  • e-mail értesítések küldése
  • biztonsági mentés
  • WordPress automatikus frissítések
  • ….és így tovább.

Hogyan működik?

Minden oldal betöltésekor a WordPress ellenőrzi, hogy szükséges-e a WP Cron futtatása. Ha van rá igény, akkor megpróbál HTTP-n keresztül kérést intézni a wp-cron.php fájlhoz.

A fájl meghívása segít abban, hogy a WP Cron különálló folyamatként futjon a háttérben anélkül, hogy késleltetné az oldal betöltési idejét a felhasználó számára. Miután a WP Cron elindult, addig fut, amíg az összes szükséges feladat el nem készül, vagy amíg el nem éri a szerverkonfigurációban beállított végrehajtási időt.

Fontos elmagyarázni, hogy alapértelmezett konfigurációjában a WordPress nem használ valódi cron feladatot az ütemezéshez és egyéb kapcsolódó feladatokhoz. Ehelyett minden alkalommal, amikor egy oldal betöltődik a WordPress webhelyen, a WordPress lefuttatja a wp-cron.php fájlt. Ez alapvetően azt kérdezi, hogy “itt az ideje, hogy csináljunk még valamit?”.

Ha az oldal betöltésekor vannak beütemezett feladatok, akkor azok lefutnak. Itt azonban meg kell jegyezni, hogy a WP Cron nem fut folyamatosan, mint a rendszer cronja.

A WP Cron csak az oldal betöltésekor fog elindulni – vagyis amikor valaki meglátogat egy oldalt a webhelyeden. Ez azt jelenti, hogy ha például 16:00 órára van ütemezve egy feladat, de 22:00 óráig nem érkezik látogató, a feladat addig nem fog lefutni.

Megjegyzés: Néha előfordulhat, hogy olyan URL-címeket lát, amelyekben a ?doing_wp_cron= egy számsor követi.

Például:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Ez azért történik, mert bizonyos háttér-feldolgozások (például ütemezett bejegyzések közzététele) elvégzése érdekében a WordPress átirányít a ?doing_wp_cron függelékkel.

Erről bővebben itt olvashat.

Miért nem sikerül?

Amikor tehát valaki a WordPress webhelyed bármelyik oldalára érkezik, a wp-cron.php fájl beindulhat, és ellenőrizheti, hogy kell-e valamit küldeni

Sok WordPress tárhelyen ez rendeltetésszerűen fut. Néhány hoszt azonban letiltja ennek a funkciónak a futtatását, mert ez azt jelenti, hogy a nagy látogatószámú látogatók sokszor elsüthetik a virtuális cron feladatokat, ami a szerver erőforrásait használja. Ez egyúttal potenciális biztonsági rés is.

Egy másik ok, hogy egyes bővítmények és témák végzetes hibákat okozhatnak a cron-feldolgozás során (mivel esetleg nem megfelelően lettek tesztelve), és ez megszakítja a cron-folyamat futását.

Tipp: Bár nem perdöntő, és csak komolyabb problémák esetén szolgál igazán támpontként, a Shield biztonsági műszerfalán a “Recent Events Log” résznél van egy bejegyzés, amely megmutatja, mikor futott utoljára az egyszerű teszt cron:

Ezből megtudhatod, hogy a cronjaid általában véve működnek-e vagy sem. Ez nem jelenti azt, hogy minden cronod működik, de azt jelenti, hogy a WP Cron rendszered valószínűleg rendben van.

Megjegyzés: A WP Cron-t manuálisan is elindíthatod. Először is meg kell építened a linket, és ezt így kell megtenned:

  1. Vegyük az admin URL-edet, pl. example.com/wp-admin/
  2. A “/wp-admin/” helyett a “/wp-cron.php?setcronjob”

A link így fog kinézni:

example.com/wp-cron.php?setcronjob

Egyszerűen nyissa meg ezt a linket egy külön lapon, és a WP Cron elindul.

Milyen problémákat okoz a WP Cron hibája?

Ha a cron hibás, nem megfelelően fut:

  • A WordPress automatikus frissítései nem fognak futni
  • A bővítmények vagy témák frissítésének ellenőrzése nem fog sikerülni
  • Az ütemezett bejegyzések nem fognak megjelenni
  • Ha a WordPress nem használ valódi cron feladatot az ütemezéshez és más kapcsolódó feladatokhoz, az e-mail értesítések, automatikus megújítások, számlázási díjak, készleten belüli/külső értesítések nem fognak működni.
  • A honlap biztonsági mentése sikertelen lesz a cron munkától függő mentési pluginek esetében

Szintén,

  • A megjelent frissítések és a telepített frissítések között hosszú késés lehet
  • A prémium pluginek nem kapcsolják be helyesen a frissítési kódjukat

    Egyes prémium pluginek nem tesztelték az egyéni frissítési kódjukat a WordPress cron munkával. Ez azt jelenti, hogy a cron futtatásakor a frissítési kódjuk nem működik, és a prémium eszközök automatikus frissítése sikertelen lesz.

Ez csak néhány a legfeltűnőbb problémák közül, amelyeket láttunk.

Megjegyezzük, hogy ha a cron nem működik, az összes automatikus feladat sikertelen lesz.

Hogyan javítsuk a WP Cron-t

A WP Cron problémás lehet, és a cron összeomlásának behatárolása trükkös munka.

A cikket itt ajánljuk figyelmedbe.

Azt is olvashatod:

  • Miért nem működnek mindig a WordPress automatikus frissítések?

Leave a Reply