přehled WP-Cron

WP-Cron provádí specifické úkoly pro weby poháněné WordPress. Název Cron pochází ze systému Unix pro plánování úloh, od jednou za minutu do jednou za rok. Ať už se jedná o rutinní údržbu nebo plánovaná upozornění, jakýkoli příkaz, který může být proveden v Unixu bez zásahu uživatele, může být naplánován jako úloha Cron.

WP-Cron má podobnou povahu jako Cron, ale liší se několika velmi důležitými způsoby. Tato funkce je určena výhradně pro zpracování rutinních úkolů WordPress:

  • zkontrolujte novou verzi jádra WordPress, motivů a pluginů
  • vyčistěte spam

pluginy a motivy mohou přidávat úkoly, které mají být prováděny v pravidelných intervalech. Pokud například máte plugin, který prohledává Twitter pro vaše tweety a poté je začleňuje do komentářů,je to s největší pravděpodobností provedeno pomocí úlohy WP-Cron. WP-Cron otevírá zcela nový svět věcí, které může Web poháněný WordPress udělat.

jak se spouští WP-Cron?

hlavní rozdíl mezi Cron a WP-Cron je způsob spouštění WP-Cron. Cron je systémový proces, který běží každou minutu a hledá úkoly, které je třeba provést. WP-Cron, protože se jedná o webový systém, lze spustit pouze tehdy, když někdo navštíví web. Když tedy někdo přejde na váš web WordPress, WP-Cron zkontroluje, zda je třeba něco udělat. Díky vývojářům jádra WordPress to dělá způsobem, který nemá nepříznivý vliv na výkon vašeho webu.

problémy s weby s nízkým provozem

weby s nízkým provozem WordPress mohou při spuštění této funkce návštěvníky zaznamenat přeskočené úkoly. Pokud lidé nenavštěvují váš web, WP-Cron nemůže spustit. To neznamená, že vaše stránka bude pomalá z předchozích úloh, když někdo nakonec navštíví váš web. Bez ohledu na to, kolik úkolů WP-Cron musí provést, jsou spuštěny na pozadí, takže výkon vašeho webu není nepříznivě ovlivněn.

problémy s vysokou návštěvností stránek

Pokud je váš web poháněný WordPress vysoký provoz, můžete narazit na problémy s WP-Cron. Hlavními problémy, které přicházejí, jsou závodní podmínky a dlouhé běžící procesy.

  • stav závodu: Když váš web navštíví více než jeden uživatel a spustí WP-Cron, aby provedl stejný úkol. WP-Cron tvrdě pracuje na odstranění závodních podmínek, ale stále se mohou stát, zejména na místech s vysokým provozem.
  • dlouhý běžící proces: jakýkoli úkol, který trvá déle než standardní 60 sekund. Vývojáři mohou nastavit, jak dlouho je povoleno spuštění úlohy PHP pomocí funkce set_time_limit(). Pokud je toto nastaveno na delší než okno mezi úkoly, můžete skončit s více než jednou kopií wp-cron.php.

oba tyto problémy jsou řešeny v rámci interního zamykání WP-Cron a nejedná se o běžné problémy; mohou se však občas vyskytnout.

Správa WP-Cron Vnitřně

WP-Cron přichází předem nakonfigurované a připravené ke spuštění, takže nemusíte dělat nic, aby to na váš WordPress stránky.

během počáteční instalace WordPress se automaticky nakonfiguruje několik úkolů. Můžete použít několik jednoduchých příkazů z příkazového řádku, nebo jeden z několika pluginů, najít přesné úlohy jsou spuštěny WP-Cron.

WP-Cron Z CLI

Pokud máte Terminus nainstalován, můžete snadno vidět všechny podrobnosti o tom, co se děje s WP-Cron. Terminus, přes WP-CLI, můžete zobrazit podrobnosti, jako je:

  • Co je naplánováno spuštění
  • Co bude probíhat další
  • událost háčky, které jsou nastaveny

můžete také plánovat své vlastní práce, provést stávající pracovní místa, a spravovat jen o všechno, co WP-Cron související—to vše z příkazového řádku.

jednou z prvních věcí, které budete chtít udělat, je otestovat WP-Cron, abyste se ujistili, že vše funguje správně. Při spuštění níže uvedeného příkazu nezapomeňte nahradit SITE_NAME názvem vašeho webu z panelu Pantheon a nahradit ENV_NAME požadovaným prostředím („dev“,“ test“,“ live “ nebo název větve multidev).

terminus wp <site>.<env> -- cron test

Pokud všechno funguje správně, výsledek vypadá takto:

Success: WP-Cron spawning is working as expected.

To vám vědět, že WP-Cron funguje správně na vašem webu. Odtud můžete pomocí WP-CLI spustit libovolný příkaz související s cronem. Pokud používáte WP-CLI ke správě vašeho webu WordPress hostovaného Pantheonem, měli byste používat Terminus. Na formát příkazu je následující:

terminus wp <site>.<env> -- cron <your wp-cron command and switches here>

terminus wp příkazy vyžadují název webu a prostředí provozovat.

Poznámka

pokud jste svůj web chránili pomocí Nastavení Zabezpečení na hlavním panelu, Terminus nebude schopen spustit cron a na hlavním panelu se mohou zobrazit chyby hlášení stavu.

pluginy

Pokud chcete sledovat WP-Cron, ale nelíbí se vám příkazový řádek, můžete použít několik pluginů. Například WP Crontrol vám ukáže všechny události naplánované pro váš web. Můžete vytvářet, upravovat, spouštět nebo mazat úlohy okamžitě z řídicího panelu WordPress admin. Můžete také připojit nové akce do plánů nebo přesunout stávající akce do nových plánů v sekci Nástroje.

WPX cron Manager Lite bude dělat podobnou práci s mírně odlišným uživatelským rozhraním. Tento plugin vyžaduje, abyste provedli jednorázovou instalaci rámce WPX, kterou můžete provést přímo ze stránky Správce pluginů.

Správa WP-Cron Externě

Pokud hledáte pro větší kontrolu nad vašeho webu cron, nebo nechceš WP-Cron zvládnout úkoly vnitřně, můžete použít externí crons místo. Tím se vyřeší výše uvedené problémy pro místa s vysokým provozem a nízkým provozem.

zakázat WP-Cron

první věc, kterou musíte udělat, je zakázat interní zpracování WP-Cron. Přidejte následující řádek do souboru wp-config.php:

wp-config.php
define('DISABLE_WP_CRON', true);

Poznámka:

Existuje mnoho důležitých úkolů, které WP-Cron stará, takže buďte připraveni k dokončení všech kroků.

bezplatné služby

jakmile deaktivujete WP-Cron, budete potřebovat službu, která v pravidelných intervalech volá adresu URL. Nejjednodušší způsob, jak to udělat je nastavit účet zdarma cron služby:

  • EasyCron
  • Nastavit Cron
  • cron-job

Žádné z výše uvedených služeb budou mít práci. Vypnutím WP-Cron jste vypnuli automatickou kontrolu a volání skriptu wp-cron.php. Nyní budete muset tuto adresu URL zavolat sami pomocí jedné z výše uvedených služeb. S většinou z nich, je to tak snadné, jako toto:

  1. Nastavení účtu
  2. Nastavit práce, která vyžaduje https://yourdomain.tld/wp-cron.php?doing_wp_cron

Poznámka:

Nahradit `doména.TLD ‚ s vaší doménou.

V závislosti na tom, jakou službu používáte, můžete mít možnost nastavit více úloh v různých časech. Vytvoření jediné úlohy, která volá wp-cron.php skript každých 15 minut, je vše, co byste měli potřebovat. WP-Cron se postará o zbytek. Pokud vytvoříte nové plány, které je třeba spouštět častěji než jednou za 15 minut, budete muset svou práci odpovídajícím způsobem upravit.

je důležité, abyste nepřidali hodnotu proměnné dotazu doing_wp_cron; aby cron správně fungoval, musí být prázdná.

pomocí vlastního serveru

Pokud spravujete svůj vlastní server, můžete pomocí služby cron volat na skript wp-cron.php. Budete muset naučit, jak správně nastavit Cron a použít něco jako wget nebo curl načíst webovou stránku. Pokud nepřijmete Zvláštní opatření, není bezpečnější používat svůj vlastní server vs. webová služba cron; nicméně, poskytuje vám větší kontrolu.

zabezpečení

z větší části je wp-cron.php bezpečné. Můžete zadat pouze jeden parametr, který ovlivní skript (doing_wp_cron). Tato hodnota $_GET není filtrována; používá se pouze jako příznak a ne jako vstup pro proces nebo proměnnou. Kromě toho je veškerý vstup ignorován.

Zatímco žádný skript na server připojený k Internetu je 100% bezpečné, wp-cron.php v současné době nemá žádné známé zranitelnosti nebo využije.

WordPress cron Plugins

WordPress má mnoho pluginů, které řídí jak interní úlohy WP-Cron, tak externí úlohy Cron. Vzhledem k tomu, že Pantheon neposkytuje služby Cron, nedoporučujeme ani neodrazujeme použití jakéhokoli daného pluginu. Doporučujeme vám podívat se na seznam pluginů WordPress Cron a experimentovat ve vašem prostředí Dev, abyste našli ten, který nejlépe vyhovuje vašim potřebám.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.