Les taches automatiques sous Wordpress
WordPress inclu un système d'éxécution planifié dans son coeur.
Cette exécution est réalisée lors des chargements des pages du site.
A chaque chargement, WordPress vérifie si une tache est arrivée à échéance.
Cette exécution a l'inconvénient de ne pas être fiable sur les horaires d'exécution :
Tant qu'aucune page n'est chargée, aucune tache n'est exécutée.
Cette exécution est réalisée par un module spécifique : wp-cron.php situé à la racine du site.
WP-Cron ne s'exécute pas en continu, ce qui peut être un problème s'il y a des tâches critiques qui doivent s'exécuter à temps.
Le deuxième problème sur cette fonctionalité de Wordpress est que le chargement des pages du site sont retardées.
En effet, à chaque fois qu'une page est chargée, Wordpress vérifie si une tache doit être lancée.
Il existe une solution simple pour exécuter les taches planifiées de Wordpress sans uriliser la fonctionnalité Wordpress :
Configurez simplement le planificateur de tâches de votre système pour qu'il s'exécute aux intervalles que vous désirez
(ou à l'heure spécifique nécessaire). La solution la plus simple consiste à utiliser un outil pour effectuer une requête Web dans le fichier wp-cron.php.
Après avoir planifié la tâche sur votre système, il reste une étape à compléter.
WordPress continuera à exécuter WP-Cron à chaque chargement de page.
Ce n'est plus nécessaire et contribuera à une utilisation supplémentaire des ressources sur votre serveur.
WP-Cron peut être désactivé dans le fichier wp-config.php.
Ouvrez le fichier wp-config.php pour le modifier et ajoutez la ligne suivante:
define('DISABLE_WP_CRON', true);
Sous Windows
Windows appelle son système de planification basé sur le temps le planificateur de tâches.
Il est accessible via les outils d'administration du panneau de configuration.
La façon dont vous configurez la tâche varie selon la configuration du serveur.
Une méthode consiste à utiliser PowerShell et une tâche de base.
Après avoir créé une tâche de base, la commande suivante peut être utilisée pour appeler le script WordPress Cron.
powershell "Invoke-WebRequest http://YOUR_SITE_URL/wp-cron.php"
Sous MAC ou Linux :
Mac OS X et Linux utilisent tous deux cron comme système de planification basé sur le temps.
Il s'agit généralement d'un accès depuis le terminal avec la commande crontab -e.
Il convient de noter que les tâches seront exécutées en tant qu'utilisateur normal ou en tant que root en fonction de l'utilisateur système exécutant la commande.
Cron a une syntaxe spécifique qui doit être suivie et contient les parties suivantes:
Minute | Heure | Jour du mois | Mois | Jour de la semaine Commande à exécuter
Si une commande doit être exécutée indépendamment de l'une des sections de temps, un astérisque (*) doit être utilisé.
Par exemple, si vous vouliez exécuter une commande toutes les 15 minutes, indépendamment de l'heure, du jour ou du mois, cela ressemblerait à ceci:
-> crontab -e */15 * * * * commande
pour vérifier la liste des commandes planifiées, vous pouvez utiliser la commande
-> contab -l
Avec certains hébergeurs, la console d'administration du nom de domaine et de l'hébergement permet de réaliser l'ajout de taches cron sur le même modèle.