A Cron egy szabványos UNIX segédprogram a feladatok (szkript vagy parancs) végrehajtásának ütemezésére egy adott időpontra, dátumra vagy intervallumra. A végrehajtandó feladatot cron feladatnak nevezzük. Mint sejtheted, a cron-feladat célja az ismétlődő feladatok automatizálása, hogy produktívabban használhasd fel az idődet.
A WordPress cron-feladat azonban némileg eltér a szabványos cron-tól, ezért mielőtt belevetnéd magad a cselekvésbe és a folyamatba, meg kell értened, mi is az a WordPress cron és hogyan működik.
- Mi a WordPress Cron?
- Hogyan kezeljük a WordPress Cron munkákat
- Hogyan kezelheted a WordPress Cron munkákat plugin segítségével
- 1. lépés: Telepítse a WP Control plugint
- 2. lépés: A Cron események megtekintése és megértése
- 3. lépés: Cron esemény szerkesztése
- 4. lépés: Egyéni időintervallum hozzáadása
- 5. lépés: Új Cron esemény hozzáadása
- Hogyan kezelhetjük a WordPress Cron munkákat a WP CLI-vel
- Hogyan kell beállítani egy valódi Cron feladatot
- 1. lépés: A wp-config.php fájl megnyitása és szerkesztése
- 2. lépés: Új Cron feladat hozzáadása a szerverhez
- Végszó!
Mi a WordPress Cron?
A WordPressnek saját cron rendszere van a feladatok ütemezésére, például a frissítések ellenőrzésére, egy poszt közzétételének ütemezésére és a hozzászólások törlésére a szemetesből. Minden cron feladatot a WP-Cron kezel.
Míg a név (és a fő ötlet) a UNIX cron-ból származik, a WP-Cron nem így működik, és intervallumokat használ a feladatok ütemezéséhez. A WordPress által biztosított alapértelmezett időintervallumok az óránkénti, a napi kétszeri, a napi és a heti. Itt az időalapú feladatok az oldaladat látogató felhasználóktól függenek, ami azt jelenti, hogy a WP-Cron csak akkor hajtódik végre, ha egy felhasználó meglátogatja a weboldaladat.
Más szóval a WP-Cron akkor hajtódik végre, amikor az oldal betöltődik. Néha ez nem túl megbízható, és ezért sok felhasználó a WP-Cron feladat helyett inkább egy szerverszintű cron feladatot választ.
Ebben a cikkben megmutatom, hogyan kezelheted a WordPress cron feladatokat, és hogyan állíthatsz be egy valódi cron feladatot a WordPress webhelyeden.
Hogyan kezeljük a WordPress Cron munkákat
A WordPress cron munkák beállításának és kezelésének számos módja van, de én két népszerű módszert mutatok meg neked.
Az első egy olyan cron kezelő plugint használ, mint a WP Crontrol, amely lehetővé teszi a WordPress cron munkák hozzáadását, módosítását és kezelését közvetlenül a WP műszerfalról. Emellett létrehozhatsz cron feladatot, építhetsz horgokat és függvényeket, valamint egyéni időintervallumokat határozhatsz meg a feladatokhoz.
A második módszer pedig a WordPress CLI segítségével történik.
Hogyan kezelheted a WordPress Cron munkákat plugin segítségével
A WP Crontrol plugint fogom használni, amely lehetővé teszi a WP cron munkák megtekintését és vezérlését a WordPress alkalmazásodhoz. Ez a WP cron munkák kezelésére használt népszerű plugin, és több mint 100 000 aktív telepítéssel rendelkezik.
Ez a legegyszerűbb módszer a WordPress cron munkák kezelésére, és gyorsan megtekintheti, szerkesztheti, létrehozhatja, törölheti, és még sok mindent tehet a WP cron eseményekkel.
Szerint kezdjük el!
1. lépés: Telepítse a WP Control plugint
Mint minden más plugint, a WP Crontrolt is telepítenie kell a plugin tárolóból és aktiválnia kell. A telepítés után észre fogod venni, hogy az Eszközök lapon megjelent egy új opció, a “Cron események”.
2. lépés: A Cron események megtekintése és megértése
A következő lépésben a Cron eseményekre kell kattintanod, és látni fogod a WordPress alkalmazásodon futó cron események listáját.
Ebben a részben futtathatod, szerkesztheted és törölheted a cron eseményeket. Ezt a lehetőséget akkor látja, ha az egérrel bármelyik cron esemény fölé mozgatja az egeret.
Ezekkel a cron-feladatokkal kapcsolatban hasznos információkat is talál, és gyorsan azonosíthatja, hogy melyik cron-feladatot milyen célra használják, és még sok minden mást is. Az első oszlopban a Hook a WordPress mag vagy bármelyik plugin által használt hook nevét mutatja. Például a “wp” előtag egyszerűen azt mutatja, hogy a WordPress mag cronjáról van szó. Azt is észre fogod venni, hogy nincs lehetőség ezeknek a cron eseményeknek a törlésére, azonban használhatod a szerkesztés és a futtatás most opciókat. Hasonlóképpen, a bővítményeihez más előtagokat fog észrevenni (például a WooCommerce esetében “wc” vagy “woocommerce”).
A második oszlop Arguments csak azokat az argumentumokat tartalmazza, amelyeket a hook függvényeknek adunk át.
A harmadik oszlop azt mutatja, hogy ez a cron feladat mikor fog legközelebb futni.
A negyedik oszlop Action azt mutatja, hogy ez a cron milyen műveletet fog végrehajtani (a cron feladat “funkciója”).
Az utolsó oszlop meghatározza a cron feladatok ismétlődési időzítését. Ez lényegében az ütemezett feladat időintervalluma.
3. lépés: Cron esemény szerkesztése
Most szerkesszünk egy WP cron feladatot, hogy teszteljük ezt a plugint.
Menjünk a kampó nevére, és kattintsunk a szerkesztésre. Egy új “Cron esemény szerkesztése” rész fog felugrani, ahol különböző mezőket fogunk látni. Az én esetemben a “wp_privacy_delete_old_export_files” horgot szerkesztettem. Ezután ennek a cron feladatnak az ismétlődését “Minden tizenöt percben” értékre fogom módosítani.
4. lépés: Egyéni időintervallum hozzáadása
A következőkben megmutatom, hogyan adhatsz hozzá egyéni időintervallumot a cron eseményekhez. Ehhez kattintson a “Cron ütemezés” fülre, és egy új képernyő jelenik meg, ahol az ütemezett időintervallumok részleteit láthatja. Ezután görgessen le az aljára, ahol megjelenik a “Cron ütemezés hozzáadása”. Töltse ki a mezőket, majd kattintson a Cron ütemezés hozzáadása gombra.
Figyeljen arra, hogy az intervallumot másodpercben kell megadni. Én 600 másodpercet fogok használni, hogy az intervallumot 10 percre állítsam be.
Most már szerkesztheted a cron eseményt, és helyettesítheted a saját egyéni intervallumoddal.
5. lépés: Új Cron esemény hozzáadása
Most már tudod, hogyan kell kezelni az egyszerű feladatokat a cron eseményekhez, de mi van, ha saját cron feladatot szeretnél hozzáadni a WordPress alkalmazásodhoz. Ne aggódj, ez nagyon egyszerű, és csak annyit kell tenned, hogy követed az alábbi utasításokat.
Először is kattints a Cron esemény hozzáadása gombra, és máris a cron hozzáadása szakaszba kerülsz. Ezután csak adj egy kampó nevet, ahogyan szeretnéd (kövesse a normál PHP elnevezési konvenciót és ne legyenek szóközök).
Ezután adj hozzá argumentumokat (ez opcionális) és az én esetemben ez üres. Ezután pedig válasszon ki egy tetszőleges opciót, és adjon meg egy időpontot a Következő futtatás mezőbe. Végül válasszon egy ismétlődési időt (ütemezési időt) az új cron feladatához, és kattintson az Esemény hozzáadása gombra.
Ha bármilyen kérdése van ezzel kapcsolatban, akkor ellenőrizheti bármely futó cron feladat beállításait a cron eseményekből.
Az új cron feladat hozzáadása után menjen a cron események fülre, és ellenőrizze az újonnan létrehozott cron feladatot. Észre fogja venni, hogy a művelet oszlopban None (hiba) lesz látható. Ez azért van, mert nem definiáltál semmilyen műveletet ehhez a cron feladathoz. Ezért néhány sor kódot kell írnod a téma functions.php fájljába, és hozzá kell adnod egy akciót.
Megjegyzés: Mielőtt továbbmennél, erősen ajánlott biztonsági mentést készíteni a WordPress oldalról.
Nyissuk meg a fájlt, és adjuk hozzá a következő kódsorokat közvetlenül a <?php után:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Ne felejtsük el az e-mail címemet a sajátunkkal helyettesíteni.
A fenti képen látható, hogy közvetlenül a WordPress műszerfalával szerkesztettem. Ha szeretnéd, szerkesztheted ezt a fájlt egy FTP klienssel is, például a FileZillával.
Második lépésként ellenőrizzük az e-mail postafiókot, hogy megkaptuk-e az üzenetet.
Tada! Megtörtént, és sikeresen hozzáadtunk egy új cron eseményt.
Hogyan kezelhetjük a WordPress Cron munkákat a WP CLI-vel
A WordPress CLI-ről is megtekinthetjük és kezelhetjük az összes WordPress cron munkánkat. A Cloudwaysnél el kell indítania a terminált, és be kell jelentkeznie a szerver hitelesítő adataival.
A következőkben helyezze el a WordPress alkalmazás elérési útvonalát. Az én esetemben az URL :
cd applications/urrghmpqks/public_html/
Majd ezt a parancsot kell futtatnia:
wp cron event list
Láthatja a kampó nevét, a következő futtatási időt, a következő relatív futtatást és az ismétlődést (ütemezett idő).
Hogyan kell beállítani egy valódi Cron feladatot
Most már tudja, mi a WordPress cron feladat és hogyan működik. Mi van akkor, ha bármilyen okból, például alacsony forgalom, adott időpontban futtatandó fontos feladatok, túlzott DDoS-támadások vagy magas oldalletöltési idő miatt valódi cron munkával szeretné helyettesíteni.
Szerint kezdjük el!
1. lépés: A wp-config.php fájl megnyitása és szerkesztése
Először is meg kell nyitnia a wp-config fájlt egy FTP klienssel, például FileZilla vagy SSH klienssel, például puTTY-vel. Ezután szerkessze a fájlt, és helyezze a következő kódsort a sor elé, ahol az áll, hogy /* Ennyi, hagyja abba a szerkesztést! Boldog blogolást! */
Kód:
define('DISABLE_WP_CRON', true);
Ez a kód letiltja a futó cron eseményeket a WordPress webhelyén, és most már létrehozhat egy valódi cron feladatot.
2. lépés: Új Cron feladat hozzáadása a szerverhez
A következő lépésben jelentkezzen be a Cloudways platformjára, majd lépjen az Alkalmazáskezelés panel > Cron feladatok kezelése > Speciális részre.
Ezután adja hozzá a következő parancsot, majd kattintson a Változások mentése gombra:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
A fenti parancsban először is ötperces intervallumot határoztam meg a cron feladathoz. Ezen az oldalon ellenőrizheti az időbeosztás kifejezését. Az én esetemben */5 * * * *
az intervallum kifejezés.
Gratulálok! Sikeresen hozzáadott egy valódi cron-feladatot.
Végszó!
Remélem, ez a cikk segített megérteni, hogyan működik a WordPress cron-feladat. Két módszert tárgyaltam a WordPress cron munkák kezelésére; az egyiket egy pluginon keresztül, a másikat pedig a WP-CLI-n keresztül. Azt is tárgyaltam, hogyan állíthatsz be egy valódi cron munkát egy éles szerveren.