iControlWP

In dit artikel leggen we uit:

  • Wat is de WP Cron?
  • Hoe werkt het?
  • Waarom faalt het?
  • Wat voor problemen veroorzaken WP Cron fouten?
  • Hoe repareer ik WP Cron

Zo, laten we beginnen…

Wat is WP Cron?

Cron is een UNIX commando om taken in te plannen die ergens in de toekomst moeten worden uitgevoerd. Het wordt normaal gesproken gebruikt om een taak in te plannen die periodiek wordt uitgevoerd.

WordPress gebruikt een bestand genaamd wp-cron.php als een virtuele cron job, of geplande taak om dingen te automatiseren zoals

  • publiceren van geplande berichten
  • controleren op plugin- of thema-updates
  • versturen van e-mailmeldingen
  • backuppen
  • WordPress automatische updates
  • ….en ga zo maar door.

Hoe werkt het?

Bij elke pagina die wordt geladen, controleert WordPress of WP Cron moet draaien. Als dat het geval is, wordt geprobeerd via HTTP een verzoek in te dienen bij het bestand wp-cron.php.

Door dit bestand aan te roepen, wordt WP Cron als een apart proces op de achtergrond uitgevoerd, zonder dat de laadtijd van de pagina voor de gebruiker wordt vertraagd. Zodra de WP Cron is gestart, blijft deze draaien totdat alle vereiste taken zijn voltooid of totdat een uitvoeringstijd is bereikt die is ingesteld in de serverconfiguratie.

Het is belangrijk om uit te leggen dat WordPress in zijn standaardconfiguratie geen echte crontaak gebruikt voor het plannen en andere gerelateerde taken. In plaats daarvan voert WordPress het bestand wp-cron.php uit wanneer een pagina op een WordPress-site wordt geladen. Het vraagt in feite “is het al tijd om iets te doen?”.

Als er taken zijn gepland op het moment dat de pagina wordt geladen, zullen deze worden uitgevoerd. Hierbij moet wel worden opgemerkt dat WP Cron niet constant wordt uitgevoerd, zoals het systeem cron doet.

WP Cron wordt alleen geactiveerd bij het laden van een pagina, d.w.z. wanneer iemand een pagina op uw site bezoekt. Dit betekent dat als u bijvoorbeeld een taak hebt gepland voor 16.00 uur, maar tot 22.00 uur geen bezoekers hebt, uw taak dan pas wordt uitgevoerd.

Note: soms ziet u URL’s met ?doing_wp_cron= gevolgd door een reeks getallen.

Voorbeeld:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Dit gebeurt omdat WordPress, om bepaalde achtergrondbewerkingen uit te voeren (zoals het publiceren van geplande berichten), u doorverwijst naar de URL met ?doing_wp_cron toegevoegd.

Lees hier meer over.

Waarom faalt het?

Dus, wanneer iemand op een pagina van uw WordPress site landt, kan het wp-cron.php-bestand opstarten en controleren of het iets moet verzenden

Op veel WordPress-hosts werkt dit zoals bedoeld. Maar sommige hosts schakelen deze functionaliteit uit omdat dit betekent dat grote aantallen bezoekers de virtuele cron jobs veelvuldig kunnen starten, waardoor de bronnen op je server worden opgebruikt. Het is ook een potentieel beveiligingslek.

Een andere reden is dat sommige plugins en thema’s fatale fouten kunnen veroorzaken tijdens de cronverwerking (omdat ze mogelijk niet correct zijn getest) en dit zal het uitvoeren van het cronproces onderbreken.

Hint: Hoewel het niet doorslaggevend is en alleen dient als een aanwijzing in het geval van grote problemen, is er op het beveiligingsdashboard voor Shield een item onder het gedeelte “Recent Events Log” dat laat zien wanneer de eenvoudige testcron voor het laatst is uitgevoerd:

Dit zou u vertellen of uw crons over het algemeen werken of niet. Het betekent niet dat al je crons werken, maar het betekent dat je WP Cron systeem waarschijnlijk OK is.

Note: Je kunt WP Cron handmatig starten. Het eerste wat je moet doen is de link maken, en dit is hoe je dat doet:

  1. Neem je admin URL, bijv. example.com/wp-admin/
  2. Vervang “/wp-admin/” met “/wp-cron.php?setcronjob”

De link ziet er dan zo uit:

example.com/wp-cron.php?setcronjob

Open die link gewoon in een apart tabblad en de WP Cron wordt gestart.

Welke problemen veroorzaken WP Cron-fouten?

Als de cron kapot gaat, niet goed loopt:

  • WordPress automatische updates zullen niet worden uitgevoerd
  • Het controleren op plugins of thema updates zal mislukken
  • Posts met schema’s zullen niet worden gepubliceerd
  • Als WordPress geen echte cron job gebruikt voor het plannen en andere gerelateerde taken, zullen email notificaties, automatische verlengingen, facturatie kosten, in/out of stock notificaties mislukken.
  • Het back-uppen van de site zal mislukken voor backup plugins die afhankelijk zijn van de cron

Ook,

  • Er kan een lange vertraging zitten tussen uitgebrachte updates, en geïnstalleerde updates
  • Premium plugins koppelen hun update code niet correct in

    Zekere premium plugins hebben hun aangepaste update code niet getest met de WordPress cron. Dit betekent dat wanneer de cron wordt uitgevoerd, hun updatecode niet werkt en de automatische updates van premium activa zullen mislukken.

Dit zijn slechts enkele van de meest opvallende problemen die we hebben gezien.

Let erop dat, als de cron niet werkt, alle automatische taken zullen mislukken.

Hoe de WP Cron te repareren

De WP Cron kan problematisch zijn en het is lastig om te achterhalen waar een cron crasht.

Wij raden u ten zeerste aan dit artikel hier te lezen.

U kunt ook het volgende lezen:

  • Waarom werken de automatische updates van WordPress niet altijd?

Leave a Reply