Maison > Article > développement back-end > php annule la tâche planifiée
Avec le développement continu de la technologie, l'exploitation et la maintenance automatisées sont devenues le choix de plus en plus d'entreprises, et le goulot d'étranglement de l'exploitation et de la maintenance manuelles est progressivement surmonté. Dans le processus d'exploitation et de maintenance automatisés, les tâches planifiées sont une méthode couramment utilisée. En définissant des tâches planifiées, des opérations spécifiques peuvent être effectuées à temps. Cependant, nous devons parfois annuler les tâches planifiées qui ont été définies. Que devons-nous faire dans ce cas ? Cet article explique comment annuler des tâches planifiées en PHP.
Nous devons d’abord comprendre quelques concepts de base. La configuration des tâches planifiées se fait généralement à l'aide d'outils tels que Crontab (sous Linux) ou Task Scheduler (sous Windows). Ces outils nous permettent de définir facilement des tâches planifiées, comme le nettoyage des journaux à 3 heures du matin tous les jours, la sauvegarde de la base de données tous les vendredis soirs, etc.
En PHP, nous utilisons la bibliothèque tierce open source-PHP Cron Scheduler. Il fournit un ensemble de classes PHP qui peuvent implémenter les mêmes fonctions que CronTab (c'est-à-dire la planification des tâches PHP) et peuvent effectuer des paramètres de tâches de synchronisation plus précis. Par exemple, divers modes de planification complexes tels que chaque minute, heure et semaine peuvent être mis en œuvre.
Alors, comment annuler des tâches planifiées en PHP ?
Sur le serveur Linux, nous pouvons saisir la commande suivante dans la ligne de commande pour ouvrir le fichier de configuration CronTab :
crontab -e
Après être entré en mode édition, vous pouvez voir tous les paramètres définis par le fichier actuel utilisateur (généralement l'utilisateur root) Planifier les tâches. Nous pouvons rechercher la tâche correspondante selon nos besoins, puis la supprimer ou la commenter.
Par exemple, voici un exemple de nettoyage du log tous les petits matins :
0 3 * * * /usr/bin/php /var/www/html/clean_log.php
On peut le supprimer ou le commenter en mode édition, par exemple :
#0 3 * * * /usr/bin/php /var/www/html/clean_log.php
Après avoir enregistré la modification, le fichier CronTab sera automatiquement mis à jour. À ce moment-là, la tâche planifiée initialement définie a été annulée avec succès.
Dans le cas de l'utilisation de la bibliothèque PHP Cron Scheduler pour configurer des tâches planifiées, nous pouvons également utiliser les méthodes fournies par la bibliothèque pour annuler les tâches planifiées. Cela doit être implémenté dans le code PHP. Les étapes spécifiques sont les suivantes :
1) Présentez la bibliothèque PHP Cron Scheduler :
require_once('path/to/php-cron-scheduler/CronScheduler.php');
2) Instancier CronScheduler :
$scheduler = new Cron\CronScheduler();
3) Appelez le remove() code> pour supprimer la tâche correspondante : <code>remove()
方法删除对应的任务:
$task = $scheduler->getTask('taskName'); $scheduler->remove($task);
以上代码中,我们通过getTask()
方法获取需要取消的任务,然后使用remove()
方法删除该任务。
需要注意的是,PHP Cron Scheduler库中的$taskName
rrreee
getTask()
, puis utilisons la méthode remove()
pour supprimer la tâche. Il convient de noter que $taskName
dans la bibliothèque PHP Cron Scheduler est généralement un nom personnalisé lors de l'ajout d'une tâche. Lors de l'annulation d'une tâche, vous devez spécifier le nom correct pour trouver la tâche correspondante. Conclusion🎜🎜Grâce aux deux méthodes ci-dessus, nous pouvons annuler les tâches planifiées qui ont été définies dans le serveur Linux ou le code PHP pour arrêter l'exécution automatique. Dans le processus de développement actuel, vous pouvez choisir d'utiliser différentes méthodes en fonction de la situation réelle. Dans le même temps, lorsque vous utilisez des tâches planifiées, vous devez prêter attention aux règles de synchronisation de la tâche, aux résultats d'exécution, à la sortie du journal et à d'autres problèmes pour garantir le bon déroulement de l'exploitation et de la maintenance automatisées. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!