thinkphp5定时任务,tp5定时任务,thinkphp定时任务,php定时任务,php定时器

简介: thinkphp5定时任务,tp5定时任务,thinkphp定时任务,php定时任务,php定时器

本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask

(1).安装tp5.0或者5.1

composer create-project topthink/think=5.0.* tp5 --prefer-dist
(2).安装定时任务composer包

composer require easy-task/easy-task
(3).创建命令行处理类文件application/common/command/Task.php

<?php
namespace app\common\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
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'));

    // 配置任务
    $task = new \EasyTask\Task();
    $task->setRunTimePath('./runtime/');
    $task->addFunc(function () {
        $url = 'https://www.gaojiufeng.cn/?id=319';
        file_get_contents($url);
    }, 'request', 10, 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');
    }
}

}
(4).将上面创建的Task.php在配置文件application/command.php中配置一下

return [

'app\common\command\Task',

];
(5).执行命令(windows请使用cmd):

php think task start 启动命令
php think task status 查询命令
php think task stop 关闭命令
php think task stop force 强制关闭命令
上面创建的定时任务是每隔10秒访问2次网站地址。

提示:后台执行失败可修改为前台启动查看问题或者查看日志文件,有问题可以在qq群反馈bug,记得用星星支持我们

目录
相关文章
|
1月前
|
设计模式 前端开发 PHP
【PHP开发专栏】ThinkPHP框架实战开发
【4月更文挑战第29天】ThinkPHP是中国流行的PHP框架,以其轻量级、模块化和高安全性受到开发者欢迎。本文介绍了ThinkPHP的基础,包括MVC设计模式,以及核心组件如路由、数据库操作、表单处理、模板引擎和错误处理。通过一个博客系统示例,展示了如何进行项目开发,包括控制器、模型和视图的创建。使用ThinkPHP能有效提升开发效率,帮助开发者快速构建复杂的Web应用。
|
1月前
|
PHP 调度
PHP 定时任务方法封装
PHP 定时任务方法封装
41 0
|
10月前
|
PHP 调度
PHP 定时任务方法封装
PHP 定时任务方法封装
81 0
|
10月前
|
关系型数据库 MySQL PHP
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】 CSDN 转过来的,所以格式与内容有些许错误请见谅
|
11月前
|
前端开发 JavaScript 数据可视化
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
159 0
|
11月前
|
前端开发 JavaScript 关系型数据库
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
宝塔设置PHP定时任务实战记录(定时任务、ajax异步刷新API、shell脚本、访问url)
559 0
|
11月前
|
关系型数据库 MySQL API
PHP定时任务:轮询多个API接口并将内容自动录入mysql数据库的解决方案
PHP定时任务:轮询多个API接口并将内容自动录入mysql数据库的解决方案
82 0
|
11月前
|
前端开发 数据可视化 JavaScript
ajax刷新php后台实现定时任务的执行解决方案
ajax刷新php后台实现定时任务的执行解决方案
80 0
|
JSON 安全 PHP
【代码审计-PHP】基于Thinkphp框架开发的
【代码审计-PHP】基于Thinkphp框架开发的
153 0
【代码审计-PHP】基于Thinkphp框架开发的
|
前端开发 应用服务中间件 PHP
PHP path_info,Thinkphp controller not exists index\php
研究过thinkphp框架源码的,或者深入了解过mvc的,都应该知道thinkphp框架的路由,是根据path_info值来解析的,甚至传参也可以带在path_info中
358 1