使用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框架创建定时任务的资料请关注脚本之家其它相关文章!
来源:https://www.jb51.net/program/313218qca.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|
|
|
发表于 2024-2-25 01:27:56
举报
回复
分享
|
|
|
|