Maison  >  Article  >  cadre php  >  Explication détaillée des étapes de mise en œuvre des tâches planifiées thinkphp5.1/5.0

Explication détaillée des étapes de mise en œuvre des tâches planifiées thinkphp5.1/5.0

藏色散人
藏色散人avant
2021-02-09 09:14:484728parcourir

Ce qui suit est une explication détaillée des étapes de mise en œuvre des tâches planifiées thinkphp5.1/5.0 dans la colonne du didacticiel thinkphp. J'espère que cela sera utile aux amis. dans le besoin !

Ce que je fais principalement, c'est une fonction pour envoyer des SMS aux employés le jour de leur anniversaire. J'exécute le script une fois par jour

La première étape :

.

a.App Créez le dossier de commande sous /module/

b. Je l'ai créé dans le module d'administration et créé un fichier SendMessage.php sous le dossier de commande (le nom spécifique est déterminé par vos propres besoins). )

c. Copiez le code suivant dans SendMessage.php

<?php
 namespace app\admin\command;
  
 use think\console\Command;
 use think\console\Input;
 use think\console\Output;
 use think\Db;
 use think\Log;
  
 class SendMessage extends Command
 {
     protected function configure(){
         $this->setName(&#39;SendMessage&#39;)->setDescription("计划任务 SendMessage");
     }
  
     //调用SendMessage 这个类时,会自动运行execute方法
     protected function execute(Input $input, Output $output){
         $output->writeln(&#39;Date Crontab job start...&#39;);
         /*** 这里写计划任务列表集 START ***/
  
         $this->birthday();//发短信
  
         /*** 这里写计划任务列表集 END ***/
         $output->writeln(&#39;Date Crontab job end...&#39;);
     }
  
     //获取当天生日的员工 发短信
     public function birthday()
     {
         echo &#39;这里写你要实现的逻辑代码&#39;;
     }
 }

Étape 2 : Ajoutez

return [&#39;app\admin\command\SendMessage&#39;];

dans APP/ command.php

Étape 3 : Configurer les tâches planifiées crontab

  1. crontab -l //计划任务列表

  2. crontab -e //编辑新增

  3. crontab -r //删除

Afin de faciliter les tests, vous pouvez d'abord le configurer pour qu'il s'exécute une fois par minute et enregistrer le journal /www/ wwwroot/tool/runtime/message /2019.log

  1. */1 * * * * php /www/wwwroot/tool/think SendMessage>>/www/wwwroot/tool/runtime/message/2019.log 2>&1

  2. //监控一下你的脚本是不是正常的

  3. tail -f /www/wwwroot/tool/runtime/message/2019.log

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer