Si un utilisateur visite un site et que sa visite déclenche un travail cron assez intensif, la vitesse de chargement des pages sera plus lente pour lui, n'est-ce pas? Si je comprends bien, la page n'attend pas que le travail cron s'exécute avant de se charger, mais comme le travail cron s'exécutera en parallèle, il se peut que la page se charge plus lentement car le serveur est occupé, n'est-ce pas?
8
Réponses:
Réponse courte - Non . Toute demande de page initialise la file d'attente planifiée. C'est juste une demande d'initialisation. La demande Wp-cron est une demande autonome.
Cependant - Si l'événement cron ne fonctionne pas très bien (il contient par exemple 1000 requêtes de base de données ou demande une ressource très longue à répondre), ou les deux, ou re-programmation de l'événement cron pour chaque demande ... comme n'importe quel autre autre requête http il consommera des ressources, des performances CPU, de la mémoire, etc ... s'il mange suffisamment de ressources, votre page deviendra plus lente.
la source
La réponse courte est en fait oui , dans la plupart des cas.
Tout d'abord, sur la plupart des configurations, la génération d'un travail cron entraîne un délai de 1 seconde au chargement de la page, car cela se fait via une demande HTTP de bouclage avec un délai d'expiration de 1 seconde - voir https://wordpress.org/support/topic/save -une seconde pleine d'exécution sur cron / .
Deuxièmement, le travail généré sera désormais en concurrence avec le chargement de la page pour l'accès à la base de données (ainsi que d'autres ressources). Plusieurs processus peuvent lire la base de données simultanément; cependant, chaque fois qu'un processus écrit dans la base de données, il est verrouillé par défaut pour empêcher l' accès en écriture ou en lecture simultané par tout autre processus - voir /programming/1005206/does-sqlite-lock-the-database -file-on-reads # answer-1005218 . L'impact de cela dépend de la complexité des mises à jour de la base de données du travail cron et de la durée pendant laquelle la base de données est réellement verrouillée, et peut être insignifiante. Bien sûr, ce serait aussi un problème si un travail cron était en cours d'exécution lorsqu'une page est demandée, mais avoir des travaux cron générés sur les garanties de chargement de page ils affecteront au moins ce chargement de page.
Si votre serveur / hébergement le permet, il est recommandé de configurer un travail cron planifié pour s'exécuter toutes les quelques heures, avec la commande
et désactivez la création de cron au chargement de la page avec l'entrée suivante dans
wp-config.php
:la source
private
méthodes comme cellesWP_Http::_dispatch_request
qui ne sont plus jamais appelées.)