WP-Cron áttekintés

a WP-Cron konkrét feladatokat hajt végre a WordPress alapú webhelyek számára. A Cron név a UNIX rendszerből származik a feladatok ütemezéséhez, percenként egyszer, évente egyszer. Legyen szó rutin karbantartásról vagy ütemezett riasztásokról, minden olyan parancs, amely felhasználói beavatkozás nélkül végrehajtható Unixon, ütemezhető Cron feladatként.

a WP-Cron természetében hasonló a Cron-hoz, de néhány nagyon fontos módon különbözik. Ezt a funkciót kizárólag a WordPress rutinfeladatok kezelésére tervezték:

  • ellenőrizze az új verzió a WordPress core, témák és plugins
  • Clean up spam

Plugins és témák hozzá feladatokat kell végrehajtani rendszeres időközönként. Például, ha van egy plugin, amely megkeresi a Twitteren a tweetjeit, majd beépíti azokat a megjegyzésekbe, akkor valószínűleg egy WP-Cron munkával történik. A WP-Cron egy teljesen új világot nyit meg, amit egy WordPress alapú webhely megtehet.

hogyan működik a WP-Cron?

a fő különbség a Cron és a WP-Cron között az, hogy a WP-Cron hogyan aktiválódik. A Cron egy olyan rendszerfolyamat, amely percenként fut, és végrehajtandó feladatokat keres. A WP-Cron, mivel webalapú rendszer, csak akkor futtatható, ha valaki meglátogatja a webhelyet. Ezért, amikor valaki a WordPress webhelyére navigál, a WP-Cron ellenőrzi, hogy kell-e valamit tenni. A WordPress core fejlesztőinek köszönhetően ezt úgy teszi, hogy ne befolyásolja hátrányosan webhelye teljesítményét.

problémák az alacsony forgalmú webhelyekkel

az alacsony forgalmú WordPress-webhelyek kihagyott feladatokat tapasztalhatnak, amikor ezt a funkciót a látogatók aktiválják. Ha az emberek nem látogatják meg az Ön webhelyét, a WP-Cron nem tudja végrehajtani. Ez nem azt jelenti, hogy az oldal lassú lesz a korábbi munkákhoz képest, amikor valaki végül meglátogatja az Ön webhelyét. Függetlenül attól, hogy a WP-Cron hány feladatot hajt végre, a háttérben futnak, így a webhely teljesítményét nem befolyásolja hátrányosan.

problémák a nagy forgalmú webhelyekkel

Ha a WordPress által működtetett webhely nagy forgalmú, akkor problémákba ütközhet a WP-Cron használatával. A legfontosabb kérdések, amelyek felmerülnek, a versenyfeltételek és a hosszú futási folyamatok.

  • versenyfeltétel: Ha egynél több felhasználó látogatja meg a webhelyet, és elindítja a WP-Cron-t ugyanazon feladat végrehajtására. A WP-Cron keményen dolgozik a versenyfeltételek kiküszöbölésén, de ezek mégis előfordulhatnak, különösen a nagy forgalmú webhelyeken.
  • hosszú futási folyamat: minden olyan feladat, amelynek futtatása hosszabb ideig tart, mint a szokásos 60 másodperc. A fejlesztők beállíthatják, hogy egy PHP feladat mennyi ideig fusson a set_time_limit() függvénnyel. Ha ez hosszabbra van állítva, mint a feladatok közötti ablak, akkor a wp-cron.php egynél több példányát is végrehajthatja.

mindkét probléma megoldódott a WP-Cron belső zárolásában, és nem gyakori problémák; azonban alkalmanként még mindig előfordulhatnak.

A WP-Cron belső kezelése

a WP-Cron előre konfigurálva van és készen áll a futtatásra, így nem kell semmit tennie ahhoz, hogy engedélyezze a WordPress webhelyein.

a WordPress kezdeti telepítése során több feladat automatikusan konfigurálódik. Használhat néhány egyszerű parancsot a parancssorból, vagy a több plugin egyikét, hogy megtalálja a WP-Cron által futtatott pontos feladatokat.

WP-Cron a CLI-ből

Ha telepítve van a Terminus, könnyen láthatja a wp-Cron minden részletét. Terminus, keresztül WP-CLI, tudja mutatni részleteket, mint:

  • mi ütemezett futtatni
  • mi fog futni a következő
  • az esemény horgok vannak beállítva

azt is ütemezni a saját feladatok, végre a meglévő feladatok, és kezelni szinte mindent WP-Cron kapcsolatos—mindezt a parancssorból.

az egyik első dolog, amit meg kell tennie, a WP-Cron tesztelése, hogy megbizonyosodjon arról, hogy minden megfelelően működik-e. Amikor végrehajtja az alábbi parancsot, győződjön meg róla, hogy a SITE_NAME helyett a webhely nevét a Pantheon irányítópultján, majd az ENV_NAME helyett a kívánt környezetet (“dev”, “test”, “live” vagy multidev ág neve).

terminus wp <site>.<env> -- cron test

Ha minden megfelelően működik, az eredmény így néz ki:

Success: WP-Cron spawning is working as expected.

Ez tudatja Önnel, hogy a WP-Cron megfelelően működik a webhelyén. Innen bármilyen cron-hoz kapcsolódó parancsot futtathat a WP-CLI segítségével. Amikor a wp-CLI segítségével kezeli a Pantheon által üzemeltetett WordPress webhelyet, akkor a terminust kell használnia. A parancs formátuma a következő:

terminus wp <site>.<env> -- cron <your wp-cron command and switches here>

minden terminus wp a parancsok működéséhez helynév és környezet szükséges.

Megjegyzés

ha webhelyét az irányítópult biztonsági beállításával védte, a Terminus nem tudja végrehajtani a cron-t, és állapotjelentési hibákat láthat az irányítópulton.

Plugins

Ha szemmel szeretné tartani a WP-Cront, de nem tetszik a parancssor, több plugin is használható. A WP Crontrol például megmutatja a webhelyére tervezett összes eseményt. Létrehozhat, szerkeszthet, futtathat vagy törölhet feladatokat azonnal a WordPress admin irányítópultján. Az új műveleteket az ütemezésekbe is beillesztheti, vagy a meglévő műveleteket új ütemezésekbe helyezheti át az eszközök szakaszból.

a WPX Cron Manager Lite hasonló munkát végez egy kissé eltérő felhasználói felülettel. Ez a bővítmény megköveteli a WPX keretrendszer egyszeri telepítését, amelyet közvetlenül a Bővítménykezelő oldalról tehet meg.

A WP-Cron külső kezelése

Ha jobban szeretné ellenőrizni webhelye cron-jobjait, vagy nem szeretné, hogy a wp-Cron belsőleg kezelje a feladatokat, használhat külső cron-okat. Ez megoldja a fent tárgyalt problémákat a nagy forgalmú és az alacsony forgalmú webhelyek esetében.

a WP-Cron letiltása

az első dolog, amit meg kell tennie, a wp-Cron belső feldolgozásának letiltása. Adja hozzá a következő sort a wp-config.php fájlhoz:

wp-config.php
define('DISABLE_WP_CRON', true);

Megjegyzés

A WP-Cron számos fontos feladatot lát el, ezért készüljön fel az alábbi lépések végrehajtására.

ingyenes szolgáltatások

miután letiltotta a WP-Cron szolgáltatást, szüksége lesz egy szolgáltatásra, amely rendszeres időközönként hív egy URL-t. Ennek legegyszerűbb módja egy ingyenes cron szolgáltatással rendelkező fiók létrehozása:

  • EasyCron
  • Cron Job beállítása
  • cron-job

a fenti szolgáltatások bármelyike elvégzi a munkát. A WP-Cron letiltásával kikapcsolta a wp-cron.php parancsfájl automatikus ellenőrzését és hívását. Most magának kell felhívnia ezt az URL-t a fenti szolgáltatások egyikével. A legtöbbjükkel ez olyan egyszerű, mint ez:

  1. hozzon létre egy fiókot
  2. állítson be egy feladatot, amely felhívja a https://yourdomain.tld/wp-cron.php?doing_wp_cron

Megjegyzés

cserélje ki a saját domainjét.TLD ‘ az Ön domainjével.

attól függően, hogy milyen szolgáltatást használ, előfordulhat, hogy több feladatot is beállíthat különböző időpontokban. Egyetlen feladat létrehozása, amely felhívja a webhely wp-cron.php szkriptjét 15 percenként, amire szüksége van. A WP-Cron gondoskodik a többiről. Ha új ütemezéseket hoz létre, amelyeket 15 percenként többször kell futtatni, akkor ennek megfelelően módosítania kell a munkáját.

fontos, hogy ne adjon hozzá értéket a doing_wp_cron lekérdezési változóhoz; üresnek kell lennie a cron megfelelő működéséhez.

saját szerver használata

ha saját szervert adminisztrál, a cron szolgáltatás segítségével hívást kezdeményezhet a wp-cron.php parancsfájlra. Meg kell tanulnod, hogyan kell helyesen beállítani a Cron munkát, és valami olyasmit kell használnod, mint a wget vagy curl a weboldal letöltéséhez. Hacsak nem tesz különleges óvintézkedéseket, nem biztonságosabb a saját szerver használata a webalapú cron szolgáltatással szemben; azonban, nagyobb ellenőrzést biztosít.

biztonság

a legtöbb esetben awp-cron.php biztonságos. Csak egy paramétert adhat át, amely befolyásolja a szkriptet (doing_wp_cron). Ez a $_GET érték nincs szűrve; csak jelzőként használják, nem pedig egy folyamat vagy változó bemeneteként. Ezen túlmenően minden bemenetet figyelmen kívül hagynak.

bár az internethez csatlakoztatott kiszolgálón egyetlen szkript sem 100% – ban biztonságos, a wp-cron.php jelenleg nem rendelkezik ismert biztonsági résekkel vagy kihasználásokkal.

WordPress Cron Plugins

a WordPress számos pluginnel rendelkezik, amelyek mind a belső WP-Cron feladatokat, mind a külső Cron feladatokat vezérlik. Mivel a Pantheon nem nyújt Cron szolgáltatásokat, nem javasoljuk vagy visszatartjuk az adott plugin használatát. Javasoljuk, hogy nézze meg a WordPress Cron bővítmények listáját, és kísérletezzen a fejlesztői környezetben, hogy megtalálja az Ön igényeinek leginkább megfelelőt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.