Preskočiť na obsah

Ako nastaviť cron

Cron je plánovaná úloha na serveri. V pravidelných intervaloch zavolá adresu (URL) alebo príkaz. Niektoré moduly WEB Vision ho potrebujú na prácu na pozadí: odosielanie dokladov, sťahovanie kurzov, opakovanie neúspešných pokusov alebo čistenie.

Modul Na čo cron slúži Odporúčaná frekvencia
Peppol e-faktúry Opakovanie pokusov, stavy doručenia, oneskorené doklady každých 5 až 10 minút (pri oneskorení aspoň každých 10 až 15 minút)
Meta Pixel Fronta udalostí a produktový feed aspoň raz za hodinu
Opustené košíky Odosielanie pripomienok raz za hodinu
Žiadosť o recenzie Odosielanie žiadostí raz za hodinu alebo raz denne
Kurzy mien ECB Denné stiahnutie kurzov raz denne po 16:30 (stredoeurópsky čas)
GeoIP databáza Aktualizácia databázy streda a sobota ráno
Najnižšia cena (Omnibus) Obnova indexu najnižších cien raz denne
Čistenie PrestaShopu Automatické čistenie tri adresy: denne, týždenne, mesačne

Presnú adresu cronu nájdete v nastaveniach každého modulu. Obsahuje tajný token.

Stačí jeden z nasledujúcich spôsobov.

Väčšina hostingov má sekciu Cron alebo Plánované úlohy.

  1. V administrácii hostingu otvorte sekciu pre cron.
  2. Pridajte novú úlohu s požadovaným časom spúšťania (podľa tabuľky vyššie).
  3. Ako príkaz zadajte jeden z týchto tvarov (adresu skopírujte z nastavení modulu):
wget -q -O /dev/null "ADRESA"
curl -s "ADRESA" > /dev/null

Niektoré hostingy ponúkajú aj voľbu Volať adresu URL. Vtedy adresu vložíte priamo, bez wget alebo curl.

Na serveri spustite crontab -e a pridajte riadok. Prvých päť polí je čas (minúta, hodina, deň v mesiaci, mesiac, deň v týždni). Príklady:

# každých 10 minút
*/10 * * * * curl -s "ADRESA" > /dev/null
# raz za hodinu
0 * * * * curl -s "ADRESA" > /dev/null
# raz denne o 16:30, od pondelka do piatka
30 16 * * 1-5 curl -s "ADRESA" > /dev/null

Ak hosting cron nemá, adresu môže pravidelne volať externá služba na plánované volanie URL (napr. cron-job.org). Nastavíte v nej adresu z modulu a interval.

Niektoré moduly (napr. Meta Pixel pri produktovom feede, GeoIP databáza) ponúkajú aj príkaz cez príkazový riadok, napríklad:

php /cesta/k/prestashopu/modules/mv_geoip_updater/cron/update.php

Funguje aj vtedy, keď je obchod v údržbe. Presný príkaz je v nastaveniach modulu.

Čas cronu sa riadi časovou zónou servera. Ak server beží v UTC, a modul odporúča čas v stredoeurópskom čase (napr. kurzy ECB po 16:30), posuňte čas o hodinu až dve (v lete o dve, v zime o jednu).

  • Modul v nastaveniach zobrazuje čas posledného behu. Po prvom spustení cronu sa má objaviť.
  • Adresu môžete otvoriť aj v prehliadači. Modul zvyčajne odpovie krátkou správou (napr. JSON).
  • Ak sa nič nedeje, pozrite sekciu Riešenie problémov v dokumentácii modulu.

Adresa cronu obsahuje tajný token. Nezdieľajte ju. Ak adresa unikne, v nastaveniach modulu vygenerujte novú (stará potom prestane platiť) a aktualizujte ju v cron úlohe.

Bol tento článok užitočný?