Maison > cadre php > PensezPHP > Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

藏色散人
Libérer: 2021-06-11 09:01:42
avant
5254 Les gens l'ont consulté

La colonne tutorielle suivante du framework thinkphp expliquera en détail comment thinkphp5.1 implémente les tâches planifiées. J'espère qu'elle sera utile aux amis dans le besoin !

Préface

Mes amis et moi avons écrit un petit système de micro-classe en utilisant thinkphp5.1 et implémentons un rappel de cours quotidien. fonction d'initialisation des données. La méthode est maintenant écrite, mais chaque exécution nécessite un clic manuel sur l'interface administrateur. Comment puis-je la faire exécuter automatiquement à une heure programmée chaque jour ?
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Méthodes précédentes

Recherchez des tâches chronométrées tp5.1 ou des tâches planifiées sur Google. Il y aura de nombreux blogs, mais la plupart d'entre eux sont des scripts sous Linux que je viens d'installer. le système Linux. Je ne connais pas très bien Linux, je vais donc d'abord utiliser le système Windows.

Idée

Les idées d'implémentation dans l'environnement Windows et l'environnement Linux sont les mêmes.
1. Maintenant, écrivez la méthode d'implémentation dans un déclencheur, et vous pouvez cliquer pour passer à l'implémenter.
2. Écrivez un script pour ouvrir automatiquement une page Web.
3. Utilisez la tâche planifiée fournie avec Windows pour exécuter automatiquement ce script à intervalles réguliers.

Implémentation

1. Nous écrivons maintenant un déclencheur de test sous le contrôleur de connexion

public function test() // 自动执行测试
{
    echo "这是一个定时任务的测试";
}
Copier après la connexion

L'effet de déclenchement est le suivant
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

2. Écrivez un script au format .bat pour ouvrir automatiquement cette page Web.

Créez un autre fichier .txt et écrivez les informations de réussite de l'exécution.
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Le code est le suivant

@echo off

start iexplore.exe http://127.0.0.1/index/login/test    

Ping -n 5 127.1>nul    

Taskkill /f /im iexplore.exe

echo success >> test.txt
Copier après la connexion

start iexplore.exe http://127.0.0.1/index/login/test signifie que l'URL spécifique pour ouvrir le navigateur est écrite à la fin, Ping -n 5 127.1>nul signifie attendre 5 secondes, et Taskkill /f /im iexplore.exe signifie fermer l'appareil de navigation, echo success >> test.txt signifie revenir avec succès au Bloc-notes. Puisque l'écriture de commentaires provoquera une erreur dans le code, écrivez un commentaire de code ici.
Cliquez sur le fichier test .bat
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

L'effet bloc-notes est comme indiqué ci-dessous
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Vous pouvez également modifier le code écrit dans le bloc-notes au rappel DingTalk
Le code est le suivant

curl -X POST -H "Content-type: application/json" ^
--data  "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^
https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36
Copier après la connexion

La fonction d'ajout du robot DingTalk étant temporairement fermée, elle ne sera pas démontrée ici.

3. Utilisez les tâches planifiées intégrées de Windows pour implémenter des scripts à démarrage automatique planifiés

Cliquez sur le panneau de configuration, cliquez sur Outils de gestion->Planificateur de tâches->Créer des tâches de base
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Nom : Initiale quotidienne
Déclencheur : Tous les jours
Début : // Choisissez une heure que vous aimez
Action : Démarrez le programme->Sélectionnez ce script
Complet
Explication détaillée de la façon dont thinkphp5.1 implémente les tâches planifiées

Il démarrera automatiquement à l'heure définie.

Conclusion

Les méthodes de fonctionnement spécifiques des systèmes Linux sont différentes, mais les idées sont les mêmes. Je fournirai un lien vers un blog que j'ai vu ci-dessous. Après avoir compris le système Linux, utilisez. Implémentation du système Linux.

Recommandations associées : Les 10 derniers didacticiels vidéo thinkphp

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal