使用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框架创建定时任务的资料请关注恩蓝小号其它相关文章!

原创文章,作者:NPWAF,如若转载,请注明出处:http://www.wangzhanshi.com/n/660.html

(0)
NPWAF的头像NPWAF
上一篇 2024年12月17日 17:53:09
下一篇 2024年12月17日 17:53:11

相关推荐

  • 如何在CentOS中安装PHP7

    CentOS上的PHP版本都十分古老,满足不了一些框架对PHP版本的要求。于是,出现了许多第三方软件库,如EPEL、RPM Fusion、Remi等,这些库提供了新版的PHP。让我…

    php 2025年1月1日
  • PHP7内核之zval是什么

    zval回顾 在PHP5的时候, zval的定义如下: struct _zval_struct {      …

    2025年1月1日
  • PHP中经纬度坐标相关计算方法小结

    1. 前言 想要测试本文提供的几个功能函数,可以使用下面这个数据表结构及其数据 CREATE TABLE `user` ( `id` int(10) unsigned NOT NU…

    php 2024年12月17日
  • php7 mysql如何扩展安装

    php mysql安装方法:首先下载mysql扩展;然后解压并使用phpize工具初始化;接着进行configure,并执行“make && make instal…

    2025年1月1日
  • 详解php如何解密json字符串

    php如何解密json字符串 解密JSON字符串在PHP中并不常见,因为JSON通常用于数据交换,并不需要加密。但如果您是指从一个经过加密的JSON字符串中解密数据,那么这通常涉及…

    php 2024年12月17日
  • PHP7性能提升原因有哪些

    PHP7性能提升原因总结: 1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。 2、字符串结构体的改变,字符串信息和数据…

    php 2025年1月1日
  • PHP 7.4.5的错误修复大汇总

    本篇文章和大家了解一下PHP 7.4.5的错误修复大汇总。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 PHP 7.4.5的错误修复 修复了错误#79364(复…

    2025年1月1日
  • PHP7实现协程

    今天小编就为大家带来一篇有关PHP7实现协程的文章。小编觉得挺不错的,为此分享给大家做个参考。一起跟随小编过来看看吧。 什么是协程 先搞清楚,什么是协程。 你可能已经听过『进程』和…

    php 2025年1月1日
  • PHP7留言板之MYSQL数据库怎么设计

    本步骤纲目:1、超全局变量$_GET $_POST2、MYSQL数据库设计3、mysqli相关数据库操作,连接及增删改查(select insert delete update)操…

    php 2025年1月1日
  • 使用php7怎么实现垃圾回收机制

    zval 的结构 // php 变量对于的c结构体 struct _zval_struct {    &nbs…

    2025年1月1日

发表回复

登录后才能评论