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('SendMessage')->setDescription("计划任务 SendMessage"); } //调用SendMessage 这个类时,会自动运行execute方法 protected function execute(Input $input, Output $output){ $output->writeln('Date Crontab job start...'); /*** 这里写计划任务列表集 START ***/ $this->birthday();//发短信 /*** 这里写计划任务列表集 END ***/ $output->writeln('Date Crontab job end...'); } //获取当天生日的员工 发短信 public function birthday() { echo '这里写你要实现的逻辑代码'; } }
Étape 2 : Ajoutez
return ['app\admin\command\SendMessage'];
Étape 3 : Configurer les tâches planifiées crontab
crontab -l //计划任务列表
crontab -e //编辑新增
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 * * * * php /www/wwwroot/tool/think SendMessage>>/www/wwwroot/tool/runtime/message/2019.log 2>&1
//监控一下你的脚本是不是正常的
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!