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框架创建定时任务的资料请关注代码网其它相关文章!
发表评论