Résoudre les problèmes
Diagnostiquer « Planification manquée » ou « Missed schedule »
Après avoir planifié un article, le message Planification manquée ou Missed schedule peut apparaître. Il confirme que la publication ne s'est pas faite à l'heure prévue, mais n'établit pas s'il a manqué du trafic, si une requête loopback a échoué ou si une erreur s'est produite pendant la publication.
1. Enregistrez un test contrôlé
Planifiez un article de test quelques minutes plus tard et notez l'heure et le fuseau horaire. Une fois l'heure passée, visitez le site une fois :
- S'il est publié après la visite, l'exécution dépendante du trafic est une hypothèse solide.
- S'il reste en attente, consultez le journal PHP de cette heure, Outils > Santé du site et toute erreur de requête loopback.
Vérifiez aussi si wp-config.php contient define('DISABLE_WP_CRON', true);. Cette valeur empêche les visites de lancer WP-Cron ; ne la modifiez pas avant d'avoir vérifié s'il existe une vraie tâche cron sur le serveur.
2. Vérifiez l'événement
Avec WP-CLI, vous pouvez lister les événements et comparer leur prochaine exécution avec l'heure actuelle :
wp cron event list --fields=hook,next_run_gmt,next_run_relative
Repérez l'événement de publication du test. Ne supprimez pas d'événements récurrents sans identifier le composant qui les a enregistrés. La commande suivante exécute tous les événements échus, pas seulement la publication : elle peut envoyer des e-mails ou déclencher des tâches de boutique. Utilisez-la en staging ou après avoir examiné et autorisé ses effets sur cette installation :
wp cron event run --due-now
Vérifiez ensuite si l'article est publié et consultez le journal PHP de la même heure. Cette exécution confirme seulement que l'événement a pu aboutir à ce moment-là ; elle n'explique pas le retard.
3. Configurez un vrai cron seulement si nécessaire
Si vous avez confirmé que le trafic manque, suivez le guide pour remplacer WP-Cron par une tâche du serveur. Créez et testez d'abord la tâche. Vous pourrez ensuite définir DISABLE_WP_CRON à true pour éviter les exécutions en double.
Planifiez un autre article et confirmez qu'il est publié sans visiter le site. Contrôlez plusieurs exécutions et conservez un journal temporaire des erreurs. Un plugin de cron peut aider à inspecter la file d'attente, mais il ne corrige ni un loopback bloqué, ni une erreur PHP, ni une tâche du serveur mal configurée.
Heure et portée du test
next_run_gmt est exprimé en UTC et peut différer de l'heure configurée pour le site. Vérifiez les deux avant de conclure que l'événement est en retard. Exécutez WP-CLI depuis le bon répertoire, avec le PHP et l'utilisateur de cette installation ; en multisite, identifiez aussi le site auquel appartient l'article.
Un article de test peut devenir public et déclencher des notifications aux abonnés. Utilisez un staging ou un contenu préparé à cet effet. wp cron event list affiche la planification actuelle, pas un historique des exécutions réussies.
Cela peut aussi vous aider
- Avertissement « Suppression d'activité en cours ! » dans Moodle Repérez la tâche ad hoc course_delete_modules qui maintient une suppression en attente et exécutez l...
- Comment résoudre l'erreur cURL 60 de certificat SSL dans WordPress Comment diagnostiquer et résoudre l'erreur cURL 60 de WordPress sans désactiver la vérification des...
- Des erreurs 404 sur des fichiers statiques ralentissent la navigation Repérez les ressources statiques absentes qui déclenchent PHP et consomment du CPU, servez-les comme...
- Déboguer les erreurs dans WordPress Repérez les pages blanches et les erreurs internes de WordPress en envoyant WP_DEBUG vers un journal...
Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.