Avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications doivent effectuer certaines tâches planifiées et planifiées en arrière-plan, telles que le nettoyage des données, la sauvegarde, l'analyse statistique, etc. En tant que langage de développement Web populaire, PHP fournit également la technologie de tâche planifiée et de tâche planifiée correspondante. Cet article présentera en détail la technologie de tâche planifiée et de tâche planifiée en PHP.
1. Le concept et les scénarios d'utilisation des tâches planifiées
1.1 Concept
Les tâches planifiées font référence à l'exécution automatique de certaines tâches ou opérations spécifiées dans un moment ou un intervalle de temps spécifié.
1.2 Scénarios d'utilisation
Dans le développement Web, il est souvent nécessaire d'effectuer certaines tâches en arrière-plan qui n'ont pas besoin d'être observées par les utilisateurs, comme compter les visites du site Web chaque mois, sauvegarder la base de données chaque jour, etc. Le temps d'exécution et la fréquence de ces tâches sont relativement fixes, et nous pouvons implémenter ces fonctions via des tâches planifiées.
2. Technologie des tâches planifiées en PHP
PHP offre une variété de façons d'implémenter des tâches planifiées. Les deux méthodes basées sur Crontab et basées sur des bibliothèques tierces sont présentées ci-dessous.
2.1 Implémenter des tâches planifiées basées sur Crontab
Crontab est un outil utilisé pour effectuer des tâches régulièrement dans les systèmes Linux/Unix Grâce à lui, nous pouvons implémenter des tâches planifiées. Les étapes spécifiques de mise en œuvre sont les suivantes :
Étape 1 : Modifiez la table crontab
Ouvrez la table crontab via cron -e et ajoutez les tâches planifiées correspondantes, par exemple :
0 1 * /usr/bin/php /home/yourusername/ cron.php
Exécutez le fichier /home/yourusername/cron.php à 1h du matin tous les jours.
Étape 2 : Redémarrez le service cron
$ sudo /etc/init.d/cron restart
De cette façon, la tâche planifiée est configurée.
2.2 Tâches planifiées basées sur des bibliothèques tierces
En plus de Crontab, il existe également des bibliothèques tierces qui peuvent être utilisées pour implémenter des tâches planifiées. Ces bibliothèques fournissent généralement des API plus pratiques et conviennent à des tâches plus complexes. Les bibliothèques couramment utilisées sont les suivantes :
2.2.1 Composant Symfony/Console
Le composant Symfony/Console est un composant du framework Symfony utilisé pour gérer les tâches de ligne de commande. Pour terminer une tâche, vous devez d'abord écrire la classe Command, puis ajouter, modifier, exécuter et d'autres opérations via l'outil de ligne de commande du composant Symfony/Console.
2.2.2 Composant Laravel/Schedule
Le composant Laravel/Schedule est une bibliothèque de gestion de tâches planifiées fournie par le framework Laravel. Il fournit une API simple et facile à utiliser pour implémenter diverses tâches planifiées, prenant en charge des points temporels et des intervalles de temps. , etc. Plusieurs stratégies de planification.
2.2.3 Composant EasyTask
EasyTask est un composant de gestion de tâches planifiées PHP développé par des Chinois. Il est simple et facile à utiliser, prend en charge plusieurs stratégies de planification telles que des points de temps et des intervalles de temps et est très pratique.
3. Concept et scénarios d'utilisation des tâches planifiées
3.1 Concept
Les tâches planifiées font référence à l'exécution automatique de certaines tâches ou opérations spécifiées à un moment donné dans le futur. Contrairement aux tâches planifiées, les tâches planifiées doivent généralement être exécutées après une certaine période de temps, qui peut être de plusieurs jours ou semaines.
3.2 Scénarios d'utilisation
Les scénarios d'utilisation des tâches planifiées sont également assez étendus. Par exemple, dans une plateforme de commerce électronique, si un utilisateur achète un article, la transaction doit être confirmée et expédiée dans un délai spécifié. Ce processus peut être automatiquement complété via des tâches planifiées.
4. Technologie des tâches planifiées en PHP
La technologie des tâches planifiées en PHP est généralement implémentée via CRON. CRON nous permet d'effectuer certaines tâches à une heure spécifique ou à un intervalle spécifié, notamment l'exécution de tâches à une certaine heure d'un certain jour ou un certain jour d'un certain mois, ou l'exécution de tâches de manière cyclique dans un certain intervalle de temps. Ce qui suit décrit comment utiliser CRON pour implémenter des tâches planifiées.
4.1 Modifier les scripts de tâches planifiées
Semblable aux tâches planifiées, nous devons écrire des scripts de tâches planifiées spécifiques selon les règles CRON. Les scripts sont généralement constitués de code PHP et s'exécutent automatiquement chaque fois qu'ils doivent être exécutés.
Par exemple, si nous voulons exécuter une tâche à midi tous les soirs, nous pouvons éditer un script PHP et le nommer planning_task.php. Le code qu'il contient est le suivant :
//. Le code qui doit être exécuté
écho "Ceci est une tâche planifiée!";
?>
4.2 Configuration de CRON
Ensuite, nous devons configurer le temps d'exécution du script via CRON. Entrez la commande suivante dans le terminal :
crontab -e
Un éditeur de texte s'ouvrira et saisira les règles de tâches planifiées suivantes :
0 0 * /usr/bin/php /var/www/html/planned_task. php
Les règles ci-dessus signifient que le script PHP /var/www/html/planned_task.php est exécuté à 0h00 tous les jours.
Après avoir enregistré et fermé l'éditeur, CRON vérifiera les tâches planifiées à intervalles planifiés, et si des tâches doivent être exécutées, elles seront exécutées selon les règles planifiées.
IV.Résumé
PHP offre une variété de façons d'implémenter des tâches planifiées et des tâches planifiées, parmi lesquelles la méthode basée sur Crontab peut répondre à la plupart des tâches planifiées simples, tandis que la méthode basée sur une bibliothèque tierce est plus adaptée aux tâches complexes. et des tâches diverses. Lorsque nous utilisons ces technologies, nous devons choisir la mise en œuvre la plus appropriée en fonction des besoins spécifiques de l'entreprise.
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!