首页 / php开发 / PHP自定义命令行实现定时任务

PHP自定义命令行实现定时任务

2023-02-28 02:28 php开发 阅读 9471 来源 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

PHP自定义命令行实现定时任务

四,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先锋网

猜你喜欢