Jediný sprievodca konfiguráciou Magento Cron, ktorý budete kedy potrebovať

Modul Magento cron je jednou z najdôležitejších funkcií v Magento 2, pretože automatizuje úlohy ako:

  • Preindexovanie.
  • Odosielanie emailov.
  • Aktualizácia cien katalógu.
  • Aktualizácie kurzov mien.

Tu vám vysvetlíme všetko, čo potrebujete vedieť o crone Magento, vrátane toho, čo to je, ako ho nainštalovať a krokov na jeho zabezpečenie.

Tu je to, čomu sa budeme venovať:

Úvod do Magento Cron

Magento používa cron, pomôcku na plánovanie úloh založenú na čase pre systémy Unix, na vykonávanie opakujúcich sa úloh, ako je aktualizácia cien v katalógu a inventára podľa plánu. Bez modulu cron Magento 2 budete musieť tieto úlohy vykonávať manuálne.

Magento cron sa spolieha na konfiguračný súbor s názvom crontab, skratka pre cron table, ktorý špecifikuje príkazy a skripty shellu a ich plán vykonávania. Tu je predvolený súbor crontab v Magento 2.4.

Jeden crontab môže obsahovať viacero úloh alebo úloh cron súvisiacich s konkrétnym používateľom alebo aplikáciou.

Každá úloha cron je uvedená ako časový reťazec pozostávajúci z piatich premenných, ktoré definujú frekvenciu každej úlohy, oddelených medzerou a za ktorými nasleduje príkaz, ktorý sa má vykonať. Nasledujúca tabuľka popisuje prijateľné hodnoty pre každú premennú.

Variabilná poloha Deskriptor Prijateľné hodnoty
1 Minúta 0 až 59 alebo * (bez konkrétnej hodnoty)
2 hodina 0 až 23 alebo * (bez konkrétnej hodnoty) v čase UTC.
3 deň v mesiaci 1 až 31 alebo * (bez konkrétnej hodnoty)
4 mesiac 1 až 12 alebo * (bez konkrétnej hodnoty)
5 Deň v týždni 0 až 7 (0 aj 7 predstavujú nedeľu) alebo * (bez konkrétnej hodnoty)
Čítať:  Sprievodca získaním certifikácie Magento 2

Všetky úlohy cron vo vnútri crontab musia používať prijateľnú hodnotu, ako je uvedené vyššie. Bez toho crontab nepobeží. Jedinou výnimkou je lomka (/), ktorú môžete použiť na vykonanie úlohy v pravidelnom intervale, bez ohľadu na čas.

Napríklad, ak chcete spustiť príkaz každú stredu o 18:00, môžete zadať plán cron ako 0 6 * * 3. A ak chcete spustiť úlohu každých šesť hodín, môžete nastaviť plán cron ako * */6 * **

Magento 2 s otvoreným zdrojom kategorizuje úlohy cron do troch skupín:

  • index: Obsahuje všetky úlohy súvisiace s indexerom.
  • spotrebiteľov: Obsahuje úlohy súvisiace s konzumentmi frontu správ.
  • predvolená: Obsahuje všetky ostatné úlohy cron.

Iné rozšírenia Magento 2 však môžu pridať úlohy a skupiny cron do vášho obchodu. Zoznam úloh cron pre váš obchod Magento si môžete pozrieť tak, že sa prihlásite do databázy Magento a zadáte nasledujúci príkaz:

$ vyberte job_code z cron_schedule GROUP BY job_code;

Magento zaznamenáva všetky informácie o úlohe cron do vyhradeného súboru v var/log/ priečinok a tiež ho zapíše do cron_schedule tabuľka v databáze Magento s informáciami ako:

  • ID a kód úlohy.
  • Postavenie.
  • Dátum vytvorenia.
  • Plánovaný dátum.
  • Dátum vykonania.
  • Dokončený dátum.

Informácie si môžete pozrieť v Magento databáza pomocou nasledujúceho príkazu:

$ SELECT * z cron_schedule;

Tento príkaz vypíše všetky riadky z Magento cron_schedule databázová tabuľka. Namiesto toho môžete použiť nasledujúci príkaz na výstup 30 najnovších riadkov.

$ SELECT * from cron_schedule ORDER BY schedule_id DESC LIMIT 30;

Teraz, keď ste pochopili, čo je Magento cron, poďme preskúmať kroky na jeho inštaláciu.

Ako nainštalovať Cron v Magento 2

Od verzie Magento 2.2 môžete nainštalovať cron Magento 2 pomocou cron:install príkaz. Tu je návod, ako to môžete urobiť z rozhrania príkazového riadka Magento (CLI).

Čítať:  Zatvára sa okno chatu na Steame? Tu je návod, ako to opraviť

Krok 1: Prihláste sa na svoj server a spustite príkaz cron:install

Prihláste sa na svoj Magento server ako vlastník súborového systému a spustite nasledujúci príkaz z koreňového adresára Magento:

$ bin/magento cron:install

Krok 2: Overte Magento Crontab

Overte crontab pomocou nasledujúceho príkazu:

$ crontab -l

Uvidíte výstup podobný:

To je všetko. Úspešne ste nainštalovali cron Magento 2.

Ako manuálne spustiť Magento 2 Cron

Prihláste sa na svoj Magento server cez SSH, prejdite do koreňového adresára projektu a spustite nasledujúci príkaz ako vlastník súborového systému Magento na manuálne spustenie úloh cron:

$ bin/magento cron:run

Uistite sa, že ste príkaz spustili aspoň dvakrát: najprv na zistenie úloh cron a potom na ich spustenie.

Voliteľne môžete tiež spustiť Magento cron pre konkrétnu skupinu pomocou:

$ bin/magento cron:run –group

Ak chcete spustiť úlohy cron pre tieto skupiny, nahraďte zástupný symbol názvom skupiny cron, ako napríklad index alebo default.

Ako zabezpečiť Magento 2 Cron

Magento štandardne obmedzuje prístup k súboru. Hoci ho môžete prepísať úpravou súboru v krčma/ priečinok, neodporúčame to robiť v produkčnom obchode, pretože to môže spôsobiť, že váš obchod bude zraniteľný voči zneužitiu.

Ak však pracujete vo vývojovom prostredí, spustenie cronu z vášho prehliadača vám môže pomôcť urýchliť vývoj.

Postupujte podľa týchto krokov na zabezpečenie súboru Magento predtým, ako k nemu pristúpite z webového prehliadača.

Poznámka: Ak nie je uvedené inak, musíte vykonať všetky príkazy v tejto časti ako používateľ s oprávneniami root.

Krok 1: Nastavte základné overenie HTTP

Kroky na nastavenie HTTP autentifikácia sa bude líšiť v závislosti od vášho webového prehliadača. Ak chcete nastaviť autentifikáciu HTTP s Apache, postupujte podľa týchto krokov:

Vytvorte nový adresár na uloženie súboru s heslom pomocou:

$ mkdir -p /usr/local/apache/password

Čítať:  4 spôsoby, ako ukradnúť spätné odkazy konkurentov: Rýchly a praktický sprievodca

Potom vytvorte súbor s heslom v tomto adresári pomocou:

$ htpasswd -c /usr/local/apache/password/passwords

Postupujte podľa pokynov v termináli a nastavte heslo pre používateľa. Po dokončení prejdite na ďalší krok.

Krok 2: Zabezpečte Cron v konfiguračnom súbore webového servera

Kroky na aktualizáciu konfiguračného súboru webového servera sa líšia v závislosti od aplikácie webového servera.

Ak chcete zabezpečiť cron pre Apache, prepnite sa na používateľa súborového systému Magento a prejdite do koreňového adresára Magento. Upravte súbor vo vnútri krčma/ priečinok pomocou preferovaného textového editora a nahraďte predvolený smernica s nasledujúcim textom:

AuthType Basic AuthName “Cron Authentication” AuthUserFile /usr/local/apache/password/passwords Vyžadovať platného používateľa

Uložte súbor a prejdite na ďalší krok.

Ak chcete zabezpečiť cron pre Nginx, prepnite sa na používateľa súborového systému Magento a prejdite do koreňového adresára Magento. Upravte predvolený súbor v koreňovom adresári projektu a pridajte doň nasledujúci text:

#Zabezpečenie umiestnenia cronu ~ cron\.php$ { auth_basic “Autentifikácia cronu”; auth_basic_user_file /etc/nginx/.htpasswd; try_files $uri =404; fastcgi_pass fastcgi_backend; fastcgi_buffers 1024 4k; fastcgi_read_timeout 600s; fastcgi_connect_timeout 600s; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahŕňajú fastcgi_params; }

Uložte súbor, prepnite späť na používateľa root a reštartujte Nginx pomocou:

$ sudo systemctl reštartujte nginx

Potom prejdite na ďalší krok.

Krok 3: Overte, či je Cron bezpečný

Najjednoduchší spôsob, ako overiť bezpečnosť súboru, je pristupovať k nemu vo webovom prehliadači. Môžete to urobiť otvorením domovskej stránky obchodu Magento a pridaním na koniec adresy URL.

Napríklad https://www.example.com/cron.php.

Vo vašom prehliadači by sa mala zobraziť nasledujúca výzva:

Ako prispôsobiť plán Magento Cron

Adobe vám umožňuje nakonfigurovať plán cron pre Magento 2 dvoma spôsobmi:

  1. Z príkazového riadku.
  2. Z administračného panela.

Tu je rýchly prehľad oboch metód.

Kroky na prispôsobenie Magento Cron pomocou Magento CLI

Prihláste sa na svoj Magento server ako vlastník súborového systému a prejdite do koreňového adresára projektu Magento.

Zobrazte existujúci plán crontab pomocou nasledujúceho príkazu:

Čítať:  Ako opraviť pôvodný zvuk TikTok Duet, ktorý nefunguje

$ crontab -l

Predvolený interval cronu Magento je nastavený na * * * * *. Túto hodnotu môžete upraviť a nastaviť vlastný plán na spustenie cronu menej často. Môžete ho napríklad nastaviť tak, aby sa spúšťal každých päť minút nahradením predvoleného záznamu znakom */5 * * * *.

Pomocou online editora výrazov cron, ako je crontab guru alebo Cronhub, vytvorte vlastnú úlohu cron pre Magento 2 a upravte crontab pomocou nasledujúceho príkazu:

$ crontab -e

Ak je to prvýkrát, čo používate príkaz crontab edit, na obrazovke sa zobrazí nasledujúca výzva:

Stlačte tlačidlo Zadajte pokračujte s predvoleným textovým editorom — nano — alebo si vyberte preferovaný editor zadaním jeho zodpovedajúceho čísla.

Prejdite kurzorom na konfiguráciu úlohy Magento cron v rámci a komentárov. Nahraďte predvolené hodnoty vlastným výrazom. Potom súbor uložte a ukončite textový editor.

To je všetko. Magento cron teraz pobeží podľa novo nakonfigurovaného plánu v crontab.

Kroky na prispôsobenie Magento Cron od správcu Magento

Prihláste sa do administračného panela Magento a prejdite na Obchody > Nastavenia > Konfigurácia. Rozbaľte Pokročilé možnosť nastavenia na ľavom paneli a vyberte si Systém.

Rozbaľte Cron (naplánované úlohy) a aktualizujte hodnoty pre každú skupinu kliknutím na Použiť systémovú hodnotu začiarkavacie políčko vedľa každého nastavenia.

Keď nastavíte úlohy cron tak, aby sa spúšťali podľa preferovaného plánu, kliknite Uložiť konfiguráciu.

Záverečné myšlienky: Jediný sprievodca konfiguráciou Magento Cron, ktorý budete kedy potrebovať

Magento cron je jednou z najužitočnejších funkcií v Magento 2. Automatizuje komplikované úlohy, takže sa môžete sústrediť na rast svojho online podnikania – rovnako ako Managed Magento Hosting s Hostinger.

Naše hostingové plány vám umožňujú prístup k serverom optimalizovaným pre Magento bez toho, aby ste sa museli zaoberať technickými aspektmi zabezpečenia a údržby serverov.

Prečo hosťovať s Hostinger? Pozrite si naše plány a dozviete sa viac.

Nové Publikácie:

ODPORÚČANIE