Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Procédure

Co je WP-Cron?

WP-Cron je interní mechanismus WordPressu, který napodobuje linuxovou službu cron pro spouštění naplánovaných úloh na pozadí WordPressu. To mimo jiné umožňuje provádět automatické aktualizace, předehřívání mezipaměti a úlohy údržby obchodu WooCommerce. Vzhledem k tomu, že k tomuto mechanismu mají přístup zásuvné moduly, mohou přidávat úlohy, které se mají provádět, a plánovat tak další akce. Více informací se dozvíte v našem specializovaném příspěvku na blogu: Co je to WordPress CRON?

Proč spouštět WP-Cron pomocí cronjobu?

WP-Cron byl původně navržen tak, aby nahradil cronjob u webhostingových balíčků, které neumožňují přidat skript do služby cron v Linuxu. Výsledkem je, že WP-Cron spouští provádění úloh díky požadavkům na soubor wp-cron.php, během požadavků AJAX na wp-admin/admin-ajax.php a/nebo při načítání stránky. Spouštěčem těchto HTTP požadavků je tedy nevyhnutelně návštěva webové stránky. V důsledku toho bude načítání stránky zatíženo prováděním úloh WP-Cron a může dojít ke snížení výkonu. Ještě horší je, že některé zásuvné moduly přidávají do Wp-Cron úlohy, které jsou příliš dlouhé, až překročí možné čekací doby HTTP. A co je nejznepokojivější, provádění úloh může být zpožděno, protože v době, kdy měla být úloha provedena, nejsou na webu žádní návštěvníci. Některé úlohy by se proto mohly hromadit, a když návštěvník otevře stránku, mohly by být vypuštěny desítky nebo dokonce stovky naplánovaných úloh, což by značně znehodnotilo dobu načítání pro tohoto nešťastného návštěvníka.

Spuštění WP-Cron pomocí úlohy cron proto zajistí, že se úlohy naplánované pomocí WP-Cron provedou, aniž by to ovlivnilo návštěvníky: soubor wp-cron.php se pak bude spouštět v pravidelných intervalech bez ohledu na to, zda jsou na stránce návštěvníci, a návštěvníci mohou stránku okamžitě otevřít, aniž by čekali na provedení čekajících úloh.

Krok 1: Zakázat spouštění programu WP-Cron při načtení stránky

Nejprve je třeba zakázat spouštění WP-Cron při načítání stránky. To provedete přidáním následujícího řádku do souboru wp-config.php:

define( 'DISABLE_WP_CRON', true );

Chcete-li to provést, přejděte na klienta FTP, připojte se ke svému účtu FTP a upravte soubor wp-config.php:

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Krok 2: Spuštění souboru wp-cron.php z úlohy cron

V ovládacím panelu ISPConfig přejděte do sekce Sites > Cron jobs a klikněte na"New cron":

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Pak zadejte cronjob, který se spustí každou minutu a spustí soubor wp-cron.php:

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Příkaz, který se má spustit,"php7.4 [web_root]/wp-cron.php" lze upravit:

  • php7.4 označuje binární soubor PHP, který se má použít. Pokud vaše webové stránky používají jinou verzi, nezapomeňte uvedenou verzi upravit.
  • [web_root] představuje složku "web" na vašem FTP. Tento údaj byste měli upravit také v případě, že je váš web WordPress umístěn v určitém adresáři.

Zaškrtávací políčko "Logovat výstup" umožňuje logovat výstup wp-cron do "soukromé" složky vašeho FTP účtu. Můžete jej zaškrtnout, pokud chcete mít k dispozici výstup stdout a stderr souboru wp-cron.php, což je užitečné například pro ladění.

Více informací onaplánovaných úlohách cron na VPS najdete ve specializovaném článku.

Několik úskalí, kterým je třeba se vyhnout

Ve výchozím nastavení nejsou weby vytvořené v ISPConfig přiřazeny k žádnému zákaznickému účtu:

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Pokud jste však své webové stránky dobrovolně spojili se zákaznickým nebo prodejním účtem vytvořeným v ISPConfig, pak tento účet může mít určitá omezení cronu, která by mohla zabránit správnému fungování úlohy cronu. Chcete-li tyto limity zkontrolovat, přejděte na záložku Limity zákaznického účtu nebo účtu prodejce:

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Pak se ujistěte, že jste zvolili možnost Úplný cron, aby cronjob nebyl spuštěn v omezeném chrootu, který nemá všechny funkce potřebné pro správnou funkci cronjobu:

Spuštění WP-Cron pomocí cronjobu na webu WordPress pomocí ISPConfig

Také se ujistěte, že jste nastavili minimální dobu mezi spuštěními na "1", aby se cronjob mohl spouštět každou minutu.

Pokud jste pro web již vytvořili cronjoby a/nebo uživatele shellu, bude nutné všechny stávající cronjoby a uživatele shellu smazat a poté je znovu vytvořit, aby je ISPConfig mohl přepnout z prostředí chroot do prostředí plného cronu.

Ohodnotit tento článek :

5/5 | 2 názor

Tento článek byl pro vás užitečný ?

Article utileAno

Article non utileNe

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobné články

0mn čtení

Jak zakážete mod_security na webových stránkách na VPS pomocí panelu ISPConfig?

1mn čtení

Omezení šířky pásma na serverech VPS

2mn čtení

Jak nakonfigurovat dvoufaktorové ověřování v systému ISPConfig


Položte týmu LWS a jeho komunitě otázku