使用ThinkPHP框架(thinkphp8.0)创建定时任务的操作步骤
发布:smiling 来源: PHP粉丝网 添加日期:2024-03-16 13:28:45 浏览: 评论:0
这篇文章给大家介绍了使用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 强制关闭命令
Tags: ThinkPHP创建定时任务
- 上一篇:thinkphp操作mongo数据的三种方法
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)