Hidden Design

Időzített feladatok (cron)

Frissítve:

Időzített feladattal a weboldal egy adott URL-jét hívhatja meg rendszeresen – például óránként egy importot, éjszakánként egy exportot, vagy percenként egy ütemezőt. A Hidden tárhelyen az időzített feladatok URL-hívás alapúak: a megadott időpontokban egy külső ütemező szolgáltatás meghívja a weboldal egy címét, mintha egy látogató nyitná meg.

Hogyan működik?

Időzített feladat létrehozása a vezérlőpultban

  1. Lépjen be az admin.hidden.hu felületre, és nyissa meg a Cron menüt.
  2. Az Új időzített futás blokkban adja meg:
    • Url: a meghívandó teljes cím, https://-sel.
    • Crontab: az ütemezés, pl. 0 3 * * * (minden nap 3:00-kor).
    • Szerződés: ha több szerződése van, válassza ki, melyikhez tartozik.
  3. Mentse.
  4. Nyissa meg a feladat részleteit: a rendszer szövegesen elmagyarázza a crontab-kifejezést, és kiírja a következő 5 futás időpontját – ellenőrizze, hogy ez megfelel-e a szándékának.
  5. Kattintson a Teszt gombra: az ütemező azonnal meghívja az URL-t, és megmutatja a választ. Így rögtön kiderül, ha az URL hibás (pl. 404, 403, 500).

A részleteknél később is látja a futások naplóját (időpont, státusz, futási idő ms-ban, a válasz HTML-tartalma), a feladatot ideiglenesen kikapcsolhatja (az enabled jelölő kivételével), módosíthatja vagy törölheti.

Crontab-kifejezés röviden

Öt mező, szóközzel elválasztva: perc óra nap hónap hét_napja

Kifejezés Jelentés
*/15 * * * * 15 percenként
0 * * * * minden óra elején
30 2 * * * minden nap 2:30-kor
0 6,18 * * * naponta 6:00-kor és 18:00-kor
0 4 * * 1 minden hétfőn 4:00-kor
0 1 1 * * minden hónap 1-jén 1:00-kor

Az időpontok magyar idő szerint értendők; a pontos következő futásokat a feladat részleteinél ellenőrizheti.

Korlátok és jó gyakorlat

WordPress: a wp-cron kiváltása

A WordPress alapból minden oldalbetöltéskor ellenőrzi, van-e esedékes feladat (wp-cron.php). Forgalmas oldalon ez felesleges terhelést, alacsony forgalmú oldalon pedig késve futó feladatokat (pl. ütemezett bejegyzés, WooCommerce-értesítő) okoz. A jobb megoldás:

  1. A web/wp-config.php-ba, a „That’s all, stop editing!” sor fölé írja be:
    define( 'DISABLE_WP_CRON', true );
  2. A vezérlőpult Cron menüjében vegyen fel egy feladatot:
    • Url: https://example.hu/wp-cron.php?doing_wp_cron
    • Crontab: */15 * * * * (15 percenként; ha nincs időkritikus feladat, elég 30 vagy 60 percenként is)
  3. A Teszt gombbal ellenőrizze, hogy a hívás 200-as választ ad.

Egyes szervereken a vezérlőpultban a domain részleteinél Háttér workerek blokk is megjelenik, ahol a WordPress wp-cron rendszeres futtatása beállítható; ha ezt látja, használhatja az URL-alapú cron helyett.

Laravel és más keretrendszerek

Gyakori hibák

Tünet Ok Megoldás
A napló 404-et mutat elírt URL, vagy a fájl nem a web/ alatt van Ellenőrizze a címet böngészőben; használja a Teszt gombot.
403 / Cloudflare-challenge a válaszban jelszavas védelem, IP-szűrés vagy biztonsági szabály blokkolja a hívást Vegye ki a cron-URL-t a védelem alól, vagy kérje a support segítségét.
524 vagy időtúllépés a feladat 100 mp-nél tovább fut Bontsa kisebb adagokra, vagy gyorsítsa a feladatot.
301/302 átirányítás http:// címet adott meg, vagy www/nem-www eltérés A végleges, https:// címet adja meg.
A feladat lefut, de semmi nem történik a kód hibára fut Nézze meg a logs/php.log-ot, és a futási napló válasz-tartalmát.
Ütemezett WordPress-bejegyzés nem jelenik meg DISABLE_WP_CRON be van kapcsolva, de nincs cron beállítva Vegye fel a wp-cron feladatot a fentiek szerint.
A feladat a vártnál más időpontban fut hibás crontab-kifejezés Nézze meg a részleteknél a „következő 5 futás” listát.

Gyakori kérdések

Be lehet állítani, hogy 30 percenként hívja a wp-cron.php-t? Igen: Cron menü → Url: https://example.hu/wp-cron.php?doing_wp_cron, Crontab: */30 * * * *. A wp-config.php-ban kapcsolja ki a beépített wp-cront (DISABLE_WP_CRON).

Futtathatok parancssori PHP-szkriptet (pl. php artisan schedule:run) cronból? Megosztott tárhelyen az időzített feladatok URL-hívással működnek. A parancssori funkciót tegye elérhetővé egy védett URL-en, és azt hívja. Különleges igény esetén írjon a supportnak.

Látom valahol, hogy lefutott-e a feladat? Igen, a Cron menüben a feladat részleteinél a futási naplóban (időpont, státusz, futási idő, válasz).

Miért lassú az oldal minden reggel 6-kor? Ha erre az időre egy nehéz időzített feladat (pl. termékimport, feed-generálás) van ütemezve, az lassíthatja az oldalt. Tegye éjszakára, vagy bontsa kisebb részekre.

Le tudom állítani ideiglenesen a feladatot törlés nélkül? Igen, a feladat részleteinél vegye ki a bekapcsolt (enabled) jelölést, és mentse.

Kapcsolódó oldalak

Nem találta, amit keresett? Kérdezze az asszisztenst, vagy írjon a [email protected] címre.