这篇“thinkphp5.1/5.0如何实现定时任务”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“thinkphp5.1/5.0如何实现定时任务”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
thinkphp属于一种免费的开发框架,能够用于开发前端网页,最早thinkphp是为了简化开发而产生的,thinkphp同时也是遵循Apache2协议,最初是从Struts演变过来,也把国外一些好的框架模式进行利用,使用面向对象的开发结构,兼容了很多标签库等模式,它能够更方便和快捷的开发和部署应用,当然不仅仅是企业级应用,任何php应用开发都可以从thinkphp的简单、兼容和快速的特性中受益。
我主要做的是一个员工生日当天发短信的功能,每天跑一次脚本,
第一步:
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('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 '这里写你要实现的逻辑代码'; } }
第二步:在APP/command.php里面加上
return ['app\admin\command\SendMessage'];
第三步:设置crontab计划任务
crontab -l //计划任务列表
crontab -e //编辑新增
crontab -r //删除
为了方便测试,可以先设置成每分钟执行一次 ,记录一下日志/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
感谢你的阅读,希望你对“thinkphp5.1/5.0如何实现定时任务”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。