PHP自定义命令行实现定时任务
一,创建自定义指令
php think make:command Task task
会生成一个app\command\Task
命令行指令类,我们修改内容如下:
class Task extends Command
{
//配置任务信息
protected function configure(){
$this->setName('Task')->setDescription("计划任务 Task");
}
//调用Task这个类时,会自动运行execute方法
protected function execute(Input $input, Output $output){
$output->writeln('Date Crontab job start...');
/*** 这里写计划任务列表集 START ***/
$this->sendMessage();//发短信
/*** 这里写计划任务列表集 END ***/
$output->writeln('Date Crontab job end...');
}
//发短信逻辑代码
public function sendMessage()
{
echo '这里写你要实现的逻辑代码';
}
}
二,配置config/console.php
文件
[
'task' => 'app\command\Task',
],
];
三,命令行下运行
php think task
四,Linux设置crontab计划任务
//设置成每分钟执行一次 ,记录一下日志
*/1 * * * * php /www/wwwroot/tp6/think task > /www/wwwroot/tp6/runtime/message/2020.log 2>&1
//监控一下你的脚本是不是正常的
tail -f /www/wwwroot/tp6/runtime/message/2020.log
如对你有帮助,请多多分享,站点是php先锋网