首页 > php框架 > ThinkPHP > 正文

详解thinkphp5.1/5.0定时任务的实现步骤

藏色散人
发布: 2021-02-09 09:14:48
转载
4817 人浏览过

下面由thinkphp教程栏目给大家详解thinkphp5.1/5.0定时任务的实现步骤,希望对需要的朋友有所帮助!

我主要做的是一个员工生日当天发短信的功能,每天跑一次脚本,

第一步:

a.App/模块/ 下创建command文件夹

b.我这边是创建在admin模块里面,在command文件夹下创建一个SendMessage.php文件(具体名字自己根据需求定)

c.复制下面的代码到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;;
     }
 }
登录后复制

第二步:在APP/command.php里面加上

return [&#39;app\admin\command\SendMessage&#39;];
登录后复制

第三步:设置crontab计划任务

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

  2. crontab -e //编辑新增

  3. crontab -r //删除

为了方便测试,可以先设置成每分钟执行一次 ,记录一下日志/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. //监控一下你的脚本是不是正常的

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

以上是详解thinkphp5.1/5.0定时任务的实现步骤的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板