WP Crontrol

Description

WP Crontrol vous permet de voir et de contrôler ce qui se passe dans le système WP-Cron. Depuis les écrans d’administration, vous pouvez :

  • Voir tous les évènements cron avec leurs arguments, leur récurrence, les fonctions de rappel et la date de leur prochaine échéance.
  • Modifier, supprimer et exécuter immédiatement tout évènement cron.
  • Ajouter de nouveaux évènements cron.
  • Suppression en masse d’évènements cron.
  • Ajouter et retirer des planifications cron personnalisées.
  • Exportation des listes d’évènements cron sous forme de fichier CSV.

WP Crontrol est attentif aux fuseaux horaires. L’extension vous alertera sur les évènements qui n’ont pas d’actions ou qui n’ont pas respecté leur calendrier. Il affichera un avertissement si votre système cron ne semble pas fonctionner (par exemple si votre serveur ne peut pas se connecter à lui-même pour déclencher les évènements cron planifiés).

Utilisation

  1. Allez dans le menu Outils → Évènements Cron pour gérer les évènements cron.
  2. Allez dans le menu Réglages → Fréquences Cron pour gérer les récurrences cron.

Autres extensions

Je maintiens plusieurs autres extensions pour les développeurs. Jetez-y un coup d’œil :

  • Query Monitor est le panneau des outils de développement pour WordPress.
  • User Switching permet de passer instantanément d’un compte à l’autre dans WordPress.

Captures d’écran

  • Cron events can be modified, deleted, and executed

  • New cron events can be added

  • De nouvelles planifications cron peuvent être ajoutées, offrant aux développeurs/développeuses d’extensions plus d’options lors de la planification d’évènements

    .

FAQ

L’extension fonctionne-t-elle avec PHP 8 ?

Yes, it’s actively tested and working up to PHP 8.1.

Je reçois l’erreur « Il y a eu un problème lors du déclenchement d’un appel au système WP-Cron sur votre site. ». Comment puis-je corriger ce problème ?

You can read all about problems spawning WP-Cron here.

Pourquoi certains évènements cron manquent-ils leur planification ?

Vous pouvez lire tout ce qui concerne les évènements cron qui manquent leur planification ici.

Pourquoi certains évènements cron réapparaissent-ils peu après leur suppression ?

Si l’évènement est ajouté par une extension, celle-ci a probablement reprogrammé l’évènement dès qu’elle a vu que l’évènement était manquant. Malheureusement, WP Crontrol ne peut rien faire à ce sujet – vous devez contacter l’auteur/autrice de l’extension concernée et lui demander conseil.

Est-il possible de supprimer les évènements cron en toute sécurité ?

Cela dépend entièrement de l’évènement. Vous pouvez utiliser votre moteur de recherche préféré pour rechercher le nom de l’évènement afin de trouver à quelle extension il appartient, et décider ensuite de le supprimer ou non.

Si l’évènement affiche « Aucune » comme action, il est généralement sans risque de le supprimer. Veuillez consulter les autres FAQ pour plus d’informations sur les évènements sans action.

Pourquoi ne puis-je pas supprimer certains évènements cron ?

Le cœur WordPress utilise des évènements cron pour certaines de ses fonctionnalités. La suppression de ces évènements n’est pas possible, car WordPress les re-planifierait immédiatement si vous les supprimiez. Pour cette raison, WP Crontrol ne vous permet pas de supprimer ces évènements persistants du cœur de WordPress.

Que signifie « Aucune » pour l’action d’un évènement cron ?

Cela signifie que l’évènement cron est programmé pour s’exécuter à l’heure spécifiée, mais qu’aucune fonction ne sera déclenchée lorsque l’évènement s’exécutera, ce qui rend l’évènement inutile.

Ce problème est souvent causé par des extensions qui ne nettoient pas leurs évènements cron lorsqu’ils sont désactivés. Vous pouvez utiliser votre moteur de recherche préféré pour rechercher le nom de l’évènement afin de savoir à quelle extension il appartient, et décider ensuite de le supprimer ou non.

Comment modifier la prochaine heure d’exécution ou la récurrence d’un évènement cron ?

Vous pouvez modifier l’heure et la récurrence d’un évènement cron en cliquant sur le lien « Éditer » à côté de l’évènement.

Comment puis-je créer un évènement cron qui sollicite une URL ?

À partir de l’écran Outils → Évènements cron → Ajouter, créez un évènement cron PHP qui inclut le PHP qui récupère l’URL à l’aide de l’API HTTP de WordPress. Par exemple :

wp_remote_get( 'http://example.com' );

Veuillez consulter la FAQ « Quels utilisateurs peuvent gérer les évènements PHP cron ? » FAQ pour savoir quels comptes peuvent créer des évènements PHP cron.

Pourquoi les modifications que j’apporte à certains évènements cron ne sont-ils pas enregistrées ?

Vous pouvez lire tout ce qui concerne les problèmes de modification d’évènement cron ici.

Puis-je exporter une liste d’évènements cron ?

Oui, un fichier CSV de la liste des évènements peut être exporté via le bouton « Exporter » sur lgécran de la liste des évènements cron. Ce fichier peut être ouvert dans n’importe quelle application de tableur.

Puis-je voir le journal des évènements cron qui ont été exécutés sur mon site ?

Pas encore, mais j’espère ajouter cette fonctionnalité bientôt.

Puis-je voir le journal des modifications, ajouts et suppressions d’évènements et planifications cron ?

Oui. L’excellente extension Simple History dispose d’un support intégré pour la journalisation des actions effectuées via WP Crontrol.

À quoi sert d’ajouter de nouvelles fréquences cron ?

Les fréquences Cron sont utilisés par WordPress et les extensions pour planifier des évènements à exécuter à intervalles réguliers. Les intervalles doivent être fournis par le cœur de WordPress ou par une extension pour pouvoir être utilisées. Par exemple, de nombreuses extensions de sauvegarde prennent en charge les sauvegardes récurrentes. Pour effectuer une sauvegarde hebdomadaire, une fréquence cron hebdomadaire doit d’abord être saisie dans WP Crontrol, une extension de sauvegarde peut alors l’utiliser comme fréquence d’exécution.

Comment créer un nouvel évènement cron ?

Il y a deux étapes pour obtenir un évènement cron fonctionnel qui s’exécute régulièrement. La première étape consiste à informer WordPress de l’existence du crochet. C’est l’élément que WP Crontrol a créé pour le déclenchement. La deuxième étape consiste à appeler une fonction lorsque votre crochet est exécuté.

Première étape : ajout du crochet

Dans le panneau d’administration Outils → Évènements Cron, cliquez sur « Ajouter » et saisissez les détails du crochet. Il est préférable d’utiliser un nom de crochet conforme aux conventions de nommage des variables PHP. La récurrence correspond à la fréquence à laquelle votre crochet sera exécuté. Si vous ne voyez pas une bonne fréquence, ajoutez-en une dans Réglages → Fréquences Cron.

Deuxième étape : écrire la fonction

Cette partie se déroule dans le code PHP (par exemple, dans le fichier functions.php de votre thème). Pour exécuter votre crochet, WordPress exécute une action. C’est pourquoi, nous devons indiquer à WordPress quelle fonction doit être exécutée lorsque cette action est exécutée. La ligne suivante accomplit cela :

add_action( 'my_hookname', 'my_function' );

L’étape suivante consiste à écrire la fonction. Voici un exemple simple :

function my_function() {
    wp_mail( 'hello@example.com', 'WP Crontrol', 'WP Crontrol rocks!' );
}

Comment créer un nouvel évènement cron PHP ?

Dans le panneau d’administration Outils → Évènements Cron, cliquez sur « Ajouter » et saisissez les détails de l’évènement. sous le tableau des évènements. Dans le formulaire qui apparaît, entrez la récurrence et la prochaine heure d’exécution dans les champs prévus à cet effet. La récurrence définit tous les combien de temps votre crochet sera exécuté. Si vous ne voyez pas d’intervalle qui convienne, ajoutez-en un nouveau dans Réglages → Fréquences Cron. Dans le champs « Code du crochet », entrez le code PHP qui doit être exécuté lorsque l’évènement cron est lancé. Il n’est pas nécessaire d’inclure les balises d’ouverture PHP (<?php).

Veuillez consulter la FAQ « Quels utilisateurs peuvent gérer les évènements PHP cron ? » FAQ pour savoir quels comptes peuvent créer des évènements PHP cron.

Quels comptes peuvent gérer les évènements et les planifications cron ?

Uniquement les comptes disposant de la capacité manage_options peuvent gérer les évènements et les fréquences Cron. Par défaut, uniquement les administrateurs/administratrices disposent de cette capacité.

Quels comptes peuvent gérer les évènements cron de PHP ? Est-ce dangereux ?

Seuls les comptes ayant la capacité edit_files peuvent gérer les évènements PHP cron. Cela signifie que si un utilisateur ne peut modifier les fichiers sur le site (par exemple, via l’éditeur d’extensions ou l’éditeur de thèmes), il ne peut modifier ou ajouter un évènement PHP cron. Par défaut, seuls les administrateurs ont cette capacité, et avec l’option Multisite activée, seuls les super-administrateurs/administratrices ont cette capacité.

Si l’édition de fichiers a été désactivée via les constantes de configuration DISALLOW_FILE_MODS ou DISALLOW_FILE_EDIT, alors aucun compte n’aura la capacité edit_files ce qui signifie que la modification ou l’ajout d’un évènement cron PHP ne sera pas autorisé.

Par conséquent, le niveau d’accès du compte requis pour exécuter un code PHP arbitraire ne change pas avec WP Crontrol activé.

Des commandes WP-CLI sont-elles disponibles ?

Les commandes cron auparavant incluses avec WP Control font maintenant partie de WP-CLI (depuis la version 0.16), cette extension ne fournie plus de commandes WP-CLI. Consulter l’aide WP Cron pour plus d’informations.

Qui a pris la photo de l’image d’en-tête de l’extension ?

La photo a été prise par Michael Pardo. Elle est dans le domaine public.

Avis

26 septembre 2022
Ein super Plugin, dass die Cron Jobs übersichtlich auflistet.
5 septembre 2022
This plugin uses the default WP Cron system which has limitations. Those limitations prevented it from being the magic cron plugin I need for specific tasks, but the plugin author has documented those issues, provided alternative solutions, and responded to the support topic very quickly even though it wasn't a problem with the plugin itself. The plugin may not have fit my needs, but it is a solid plugin with good support, and those are the primary rating factors for me to determine a good/bad plugins.
31 juillet 2022
Nice idea but not a good plugin to install and forget. This plugin crashed 5 of my websites and although it had an update to fix the issue, we have had to discontinue it on all our sites.
12 juillet 2022
As everybody else say: This plugin was great, but after releasing an automatic update with a fatal error, about 200 000 sites world-wide went down - among others some of our customers'. We have no reason to think that this was intentional, but nonetheless it's unacceptable, and there's nothing that says this developer won't do this again. Do not install.
Lire les 136 avis

Contributeurs & développeurs

« WP Crontrol » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“WP Crontrol” a été traduit dans 17 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « WP Crontrol » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal

1.14.0

  • Reverts the changes introduced in version 1.13 while I look into the problem with the deployment process for wordpress.org

1.13.2

  • Fixes another issue with missing files in the release

1.13.1

  • Fixes an issue with missing files in the 1.13.0 release

1.13.0

  • Introduces the ability to pause and resume cron events from the event listing screen; see the FAQ for full details
  • Implements an autoloader to reduce memory usage
  • Bumps the minimum supported version of PHP to 5.6

1.12.1

  • Corrects an issue where an invalid hook callback isn’t always identified
  • Various code quality improvements

1.12.0

  • Fix the PHP cron event management.
  • More « namespacing » of query variables to avoid conflicts with other cron management plugins.

1.11.0

  • Introduced an Export feature to the event listing screen for exporting the list of events as a CSV file.
  • Added the timezone offset to the date displayed for events that are due to run after the next DST change, for extra clarity.
  • Introduced the crontrol/filter-types and crontrol/filtered-events filters for adjusting the available event filters on the event listing screen.
  • Lots of code quality improvements (thanks, PHPStan!).

1.10.0

  • Support for more granular cron-related error messages in WordPress 5.7
  • Several accessibility improvements
  • Warning for events that are attached to a schedule that is too frequent
  • More clarity around events and schedules that are built in to WordPress core
  • Add a Help tab with links to the wiki and FAQs

1.9.1

  • Fix the adding of new cron events when DISALLOW_FILE_EDIT is true.

1.9.0

  • Add filters and sorting to the event listing screen. Props @yuriipavlov.
  • Replace the « Add New » tabs with a more standard « Add New » button on the cron event listing page.
  • Switch back to using browser-native controls for the date and time inputs.
  • Add an error message when trying to edit a non-existent event.
  • Introduce an informational message which appears when there are events that have missed their schedule.
  • Fire actions when cron events and schedules are added, updated, and deleted.

1.8.5

  • Fix an issue with the tabs in 1.8.4.

1.8.4

  • Add a warning message if the default timezone has been changed. More information.
  • Fixed string being passed to strtotime() function when the Now option is chosen when adding or editing an event.

1.8.3

  • Fix the editing of events that aren’t currently listed on the first page of results.

1.8.2

  • Contourner le contrôle des évènements en double lors de l’exécution manuelle d’un évènement. Cela permet d’exécuter manuellement un évènement même s’il doit être exécuté dans les dix minutes ou s’il est en retard.
  • Force only one event to fire when manually running a cron event.
  • Introduce polling of the events list in order to show a warning when the event listing screen is out of date.
  • Add a warning for cron schedules which are shorter than WP_CRON_LOCK_TIMEOUT.
  • Add the Site Health check event to the list of persistent core hooks.

1.8.1

  • Fix the bottom bulk action menu on the event listing screen.
  • Make the timezone more prominent when adding or editing a cron event.

1.8.0

  • Searching and pagination for cron events
  • Ability to delete all cron events with a given hook
  • More accurate response messages when managing events (in WordPress 5.1+)
  • Visual warnings for events without actions, and PHP events with syntax errors
  • Timezone-related clarifications and fixes
  • A more unified UI
  • Modernised codebase

1.7.1

  • Correct the PHP.net URL for the strtotime() reference.

1.7.0

  • Remove the date and time inputs and replace with a couple of preset options and a plain text field. Fixes #24 .
  • Ensure the schedule name is always correct when multiple schedules exist with the same interval. Add error handling. Fixes #25.
  • Re-introduce the display of the current site time.
  • Use a more appropriate HTTP response code for unauthorised request errors.

1.6.2

  • Remove the ability to delete a PHP cron event if the user cannot edit files.
  • Remove the Edit link for PHP cron events when the user cannot edit the event.
  • Avoid a PHP notice due to an undefined variable when adding a new cron event.

1.6.1

  • Fix a potential fatal error on the cron events listing screen.

1.6

  • Introduce bulk deletion of cron events. Yay!
  • Show the schedule name instead of the schedule interval next to each event.
  • Add core’s new delete_expired_transients event to the list of core events.
  • Don’t allow custom cron schedules to be deleted if they’re in use.
  • Add links between the Events and Schedules admin screens.
  • Add syntax highlighting to the PHP code editor for a PHP cron event.
  • Styling fixes for events with many arguments or long arguments.
  • Improvements to help text.
  • Remove usage of create_function().
  • Fix some translator comments, improve i18n, improve coding standards.

1.5.0

  • Show the hooked actions for each cron event.
  • Don’t show the Delete link for core’s built-in cron events, as they get re-populated immediately.
  • Correct the success message after adding or editing PHP cron events.
  • Correct the translations directory name.

1.4

  • Switch to requiring cron event times to be input using the site’s local timezone instead of UTC.
  • Add the ability for a PHP cron event to be given an optional display name.
  • Better UX for users who cannot edit files and therefore cannot add or edit PHP cron events.
  • Terminology and i18n improvements.

1.3.1

  • Display a less scary looking message when DISABLE_WP_CRON is defined.
  • Correct the example code for cron event arguments.

1.3

  • Improvements to the UI.
  • More error detection when testing WP-Cron functionality.
  • Improve the capability checks for single site and multisite.
  • Lots of escaping and sanitising.
  • Fix various issues with multiple events with the same hook name.
  • Removed the WP-CLI commands, as these have now been added to WP-CLI core (see wp help cron for more info)

1.2.3

  • Tweaks to i18n and date and args formatting
  • Properly escape the crontrol_message query var (props Julio Potier)

1.2.2

  • Added wp crontrol run-event and wp crontrol delete-event WP-CLI commands
  • Clarify language regarding hooks/entries/events

1.2.1

  • Correctly display the local time when listing cron events
  • Remove a PHP notice
  • Pass the WP-Cron spawn check through the same filter as the actual spawner