thinkphp5中如何实现计划任务command

如果用过laravel框架的话,

想实现计划任务很简单,只需要执行`php artisan make:command xxx`就可以实现

在thinkphp5中如何实现呢

第一步:

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

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

c.复制下面的代码到SendMessage.php
>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

    A+
发布日期:2021年12月11日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: