wp-cron overzicht

WP-Cron voert specifieke taken uit voor WordPress aangedreven sites. De naam Cron komt van het Unix-systeem voor het plannen van taken, variërend van één keer per minuut tot één keer per jaar. Of het nu gaat om routinematig onderhoud of geplande waarschuwingen, elke opdracht die kan worden uitgevoerd op Unix zonder tussenkomst van de gebruiker kan worden gepland als een cron taak.

WP-Cron is vergelijkbaar in Aard met Cron, maar verschilt op een aantal zeer belangrijke manieren. Deze functie is uitsluitend ontworpen om WordPress routine taken te behandelen:

  • controleren op nieuwe versie van de WordPress-kern, thema ’s en plugins
  • spam opruimen

Plugins en thema’ s kunnen taken toevoegen die met regelmatige tussenpozen moeten worden uitgevoerd. Als je bijvoorbeeld een plug-in hebt die Twitter scant voor je tweets en deze vervolgens opneemt in reacties, wordt dit waarschijnlijk gedaan met een wp-Cron-taak. WP-Cron opent een hele nieuwe wereld van dingen die een WordPress aangedreven site kan doen.

Hoe wordt WP-Cron geactiveerd?

het belangrijkste verschil tussen Cron en WP-Cron is hoe WP-Cron wordt geactiveerd. Cron is een systeemproces dat elke minuut loopt en zoekt naar taken uit te voeren. WP-Cron, omdat het een web-based systeem is, kan alleen worden uitgevoerd wanneer iemand de site bezoekt. Daarom, wanneer iemand navigeert naar uw WordPress site, wp-Cron controleert om te zien of er iets moet worden gedaan. Dankzij de WordPress core ontwikkelaars, het doet dit op een manier die geen negatieve invloed heeft op de prestaties van uw site.

problemen met Sites met weinig verkeer

WordPress-sites met weinig verkeer kunnen overgeslagen taken ervaren wanneer deze functie wordt geactiveerd door bezoekers. Als mensen uw site niet bezoeken, kan WP-Cron niet uitvoeren. Dit betekent niet dat uw pagina traag zal zijn van eerdere banen wanneer iemand uiteindelijk uw site bezoekt. Ongeacht hoeveel taken WP-Cron moet uitvoeren, ze worden uitgevoerd op de achtergrond, zodat de prestaties van uw site niet nadelig wordt beïnvloed.

problemen met sites met veel verkeer

als uw WordPress-aangedreven site veel verkeer is, kunt u problemen tegenkomen met WP-Cron. De belangrijkste kwesties die naar voren komen zijn race Voorwaarden en langlopende processen.

  • raceconditie: Wanneer meer dan één gebruiker uw site bezoekt en wp-Cron activeert om dezelfde taak uit te voeren. WP-Cron werkt hard om race-omstandigheden te elimineren, maar ze kunnen nog steeds gebeuren, vooral op veel verkeer sites.
  • lang lopend proces: elke taak die langer duurt dan de standaard 60 seconden. Ontwikkelaars kunnen aanpassen hoe lang een PHP taak mag draaien met de set_time_limit() functie. Als dit is ingesteld om langer te zijn dan het venster tussen taken, dan kunt u eindigen met meer dan één kopie van wp-cron.php uitvoeren.

beide problemen worden aangepakt binnen de interne vergrendeling van WP-Cron en zijn geen veelvoorkomende problemen; ze kunnen echter nog steeds af en toe voorkomen.

wp-Cron intern beheren

WP-Cron is voorgeconfigureerd en klaar om te draaien, dus u hoeft niets te doen om het in te schakelen op uw WordPress sites.

tijdens de eerste installatie van WordPress worden verschillende taken automatisch geconfigureerd. U kunt een paar eenvoudige commando ‘ s van de opdrachtregel, of een van de verschillende plugins, gebruiken om de exacte taken te vinden die door WP-Cron worden uitgevoerd.

WP-Cron van de CLI

Als u Terminus hebt geïnstalleerd, kunt u eenvoudig alle details zien van wat er gaande is met WP-Cron. Terminus, via WP-CLI, kan u details laten zien zoals:

  • Wat wordt gepland om
  • te draaien wat zal de volgende
  • draaien de event hooks die zijn ingesteld

u kunt ook uw eigen taken plannen, bestaande taken uitvoeren en zo ongeveer alles beheren wat met WP-Cron te maken heeft—allemaal vanaf de opdrachtregel.

een van de eerste dingen die u wilt doen is WP-Cron testen om er zeker van te zijn dat alles correct werkt. Wanneer je het onderstaande commando uitvoert, zorg er dan voor dat je SITE_NAME vervangt door de naam van je site vanuit je Pantheon Dashboard en vervang ENV_NAME door de gewenste omgeving (“dev”, “test”, “live”, of multidev branch name).

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

als alles correct werkt, ziet het resultaat er als volgt uit:

Success: WP-Cron spawning is working as expected.

Dit laat u weten dat WP-Cron correct werkt op uw site. Vanaf hier kunt u elk cron-gerelateerd commando uitvoeren met WP-CLI. Bij het gebruik van WP-CLI om uw Pantheon gehoste WordPress site te beheren, je moet worden met behulp van Terminus. Het opdrachtformaat is als volgt:

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

alle terminus wp opdrachten vereisen een sitenaam en omgeving om te werken.

opmerking

als u uw site hebt beveiligd met behulp van de beveiligingsinstelling op uw Dashboard, zal Terminus cron niet kunnen uitvoeren en kunt u statusrapportfouten op het Dashboard zien.

Plugins

Als u WP-Cron in de gaten wilt houden, maar de opdrachtregel niet leuk vindt, kunt u verschillende plugins gebruiken. WP Crontrol, bijvoorbeeld, toont u alle evenementen gepland voor uw site. U kunt maken, bewerken, Uitvoeren of verwijderen banen onmiddellijk vanuit uw WordPress admin dashboard. U kunt ook nieuwe acties aansluiten op schema ’s of bestaande acties verplaatsen naar nieuwe schema’ s vanuit de sectie Hulpmiddelen.

WPX Cron Manager Lite zal een soortgelijke taak uitvoeren met een iets andere gebruikersinterface. Deze plugin vereist dat u een eenmalige installatie van de WPX framework, die u kunt doen rechtstreeks vanaf de plugin manager pagina.

wp-Cron extern beheren

Als u meer controle wilt over de cron-taken van uw site, of als u niet wilt dat WP-Cron intern taken afhandelt, kunt u in plaats daarvan externe crons gebruiken. Dit zal de hierboven besproken problemen voor veel verkeer en weinig verkeer sites op te lossen.

wp-Cron uitschakelen

het eerste wat u moet doen is de interne verwerking van WP-Cron uitschakelen. Voeg de volgende regel toe aan uw wp-config.php bestand:

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

Note

er zijn veel belangrijke taken die WP-Cron verzorgt, dus wees voorbereid om alle onderstaande stappen uit te voeren.

gratis Services

Als u WP-Cron hebt uitgeschakeld, hebt u een service nodig die een URL met regelmatige tussenpozen aanroept. De makkelijkste manier om dit te doen is door een account aan te maken met een gratis cron-service:

  • EasyCron
  • Set Cron Job
  • Cron-job

elk van de bovenstaande services zal de klus klaren. Door WP-Cron uit te schakelen, hebt u het automatisch controleren en aanroepen van het wp-cron.php script uitgeschakeld. U zult nu zelf die URL moeten bellen met behulp van een van de bovenstaande diensten. Met de meeste van hen is het zo eenvoudig als dit:

  1. een account instellen
  2. een taak instellen die https://yourdomain.tld/wp-cron.php?doing_wp_cron

Note

vervang `uwdomein.tld ‘ met uw domein.

afhankelijk van welke service u gebruikt, kunt u meerdere taken op verschillende tijdstippen instellen. Het aanmaken van een enkele taak die elke 15 minuten het wp-cron.php script van uw site aanroept is alles wat u nodig zou moeten hebben. WP-Cron zorgt voor de rest. Als u nieuwe schema ‘ s maakt die vaker dan eens per 15 minuten moeten worden uitgevoerd, moet u uw taak dienovereenkomstig aanpassen.

Het is belangrijk dat u geen waarde toevoegt aan de doing_wp_cron query variabele; deze moet leeg zijn om de cron goed te laten werken.

Gebruik uw eigen Server

Als u uw eigen server beheert, kunt u de Cron-service gebruiken om een oproep te doen naar het wp-cron.php script. U zult moeten leren hoe u een cron-taak correct kunt instellen en iets als wget of curl kunt gebruiken om een webpagina op te halen. Tenzij u speciale voorzorgsmaatregelen neemt, is het niet veiliger om uw eigen server VS.een web-based cron service te gebruiken; echter, het geeft je meer controle.

beveiliging

voor het grootste deel is wp-cron.php beveiligd. Er is maar één parameter die je kunt doorgeven die het script zal beïnvloeden (doing_wp_cron). Deze $_GET waarde is niet gefilterd; het wordt alleen gebruikt als een vlag en niet als invoer voor een proces of variabele. Verder wordt alle invoer genegeerd.

hoewel geen script op een server die is aangesloten op het Internet 100% veilig is, heeft wp-cron.php momenteel geen bekende kwetsbaarheden of exploits.

WordPress Cron-Plugins

WordPress heeft veel plugins die zowel interne wp-cron-taken als externe cron-taken beheren. Aangezien Pantheon geen Cron-diensten aanbiedt, raden we het gebruik van een bepaalde plug-in niet aan of ontmoedigen we het gebruik ervan. Wij raden u aan om te kijken op de lijst van WordPress Cron Plugins en experimenteren in uw Dev-omgeving om de een die het beste past bij uw behoeften te vinden.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.