使用ThinkPHP框架(thinkphp8.0)创建定时任的操作步骤

1、安装定时任务composer包

composer require easy-task/easy-task

2、创建命令行处理类文件

php think make:command Task  task

会生成文件:app\\command\\Task.php

将Task.php文件内容修改如下:

<?php
declare (strict_types=1);
 
namespace app\\command;
 
use think\\console\\Command;
use think\\console\\Input;
use think\\console\\input\\Argument;
use think\\console\\input\\Option;
use think\\console\\Output;
 
class Task extends Command
{
    protected function configure()
    {
        //设置名称为task
        $this->setName(\'task\')
            //增加一个命令参数
            ->addArgument(\'action\', Argument::OPTIONAL, \"action\", \'\')
            ->addArgument(\'force\', Argument::OPTIONAL, \"force\", \'\');
    }
 
    protected function execute(Input $input, Output $output)
    {
        //获取输入参数
        $action = trim($input->getArgument(\'action\'));
        $force = trim($input->getArgument(\'force\'));
 
        // 配置任务,每隔20秒访问2次网站
        $task = new \\EasyTask\\Task();
        $task->setRunTimePath(\'./runtime/\');
        $task->addFunc(function () {
            $url = \'https://www.wushengyong.com/\';
            file_get_contents($url);
        }, \'request\', 20, 2);;
 
        // 根据命令执行
        if ($action == \'start\')
        {
            $task->start();
        }
        elseif ($action == \'status\')
        {
            $task->status();
        }
        elseif ($action == \'stop\')
        {
            $force = ($force == \'force\'); //是否强制停止
            $task->stop($force);
        }
        else
        {
            exit(\'Command is not exist\');
        }
    }
}

3、配置config\\console.php文件

<?php
// +----------------------------------------------------------------------
// | 控制台配置
// +----------------------------------------------------------------------
return [
    // 指令定义
    \'commands\' => [
        \'task\' => \'app\\command\\Task\',
    ],
];

4、执行命令(windows请使用cmd):

php think task start  启动命令
php think task status 查询命令
php think task stop   关闭命令
php  think  task  stop  force   强制关闭命令

以上就是使用ThinkPHP框架(thinkphp8.0)创建定时任的操作步骤的详细内容,更多关于ThinkPHP框架创建定时任务的资料请关注其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容