laravel定时任务,tp定时任务,thinkphp定时任务

简介: laravel定时任务,tp定时任务,thinkphp定时任务

本文基于Laravel Framework 6.17.1版本

(1).创建项目(依赖真多,如此臃肿)

composer create-project --prefer-dist laravel/laravel blog
(2).安装定时任务composer包

composer require think-task/think-task
(3).执行创建命令行处理类文件(自动生成了文件app/Console/Commands/Task.php)

php artisan make:command Task
(4).修改第3步创建的app/Console/Commands/Task.php为以下内容

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class Task extends Command
{

/**
 * The name and signature of the console command.
 *
 * @var string
 */
protected $signature = 'task{action=start}';

/**
 * The console command description.
 *
 * @var string
 */
protected $description = 'Command description';

/**
 * Create a new command instance.
 *
 * @return void
 */
public function __construct()
{
    parent::__construct();
}

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    $action = $this->argument('action');
    // 初始化EasyTask
    $task = new \ThinkTask\Task();

    // 设置项目名称
    $task->setPrefix('Think');

    // 设置后台运行
    $task->setDaemon(false);

    // 设置日志保存目录
    $task->setRunTimePath('./bootstrap/cache/');

    // 添加闭包任务,开2个进程5s执行1次访问网址
    $task->addFunc(function () {
        @file_get_contents('http://xingxinghan.cn/?id=6');
    }, 'Curl_1', 5, 3);

    // 添加执行tp默认控制器的方法,开1个进程10s执行1次访问网址
    //$task->addClass('\app\index\controller\Index', 'index', 'Curl_2', 10, 1);

    // 根据命令执行
    if ($action == 'start')
    {
        $task->start();
    }
    if ($action == 'status')
    {
        $task->status();
    }
    if ($action == 'stop')
    {
        $task->stop();
    }
}

}
(5).将上面的文件注册一下(修改app/Console/Kernel.php文件)

protected $commands = [
\App\Console\Commands\Task::class
];
(6).执行命令(windows请使用cmd,由于cmd不支持utf8编码,可以在本站搜索关键字“乱码”相关文章处理),:

php artisan task start 启动命令
php artisan task status 查询命令
php artisan task stop 关闭命令
提示:后台执行失败可修改为前台启动查看问题或者查看日志文件,有问题可以在qq群反馈bug

目录
相关文章
|
1月前
|
Java 调度 Spring
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
SpringBoot实现多线程定时任务动态定时任务配置文件配置定时任务
286 0
|
8月前
|
消息中间件 算法 Java
定时任务实现方案总结
定时任务实现方案总结
59 0
定时任务实现方案总结
|
NoSQL Java 调度
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
486 0
|
9月前
|
Java
简单实现一个定时任务
简单实现一个定时任务
95 0
|
11月前
|
负载均衡 Java 数据挖掘
定时任务实现的几种方式
定时任务实现的几种方式
239 1
|
11月前
|
存储 数据可视化 Java
SpringBoot整合定时器:定时任务不再硬编码,动态定时刷起来
前言 传统定时器是硬编码。但是有的时候业务上需要不断地调整 问题描述 我们开发了一个定闹钟的功能。这个功能肯定是定时器开发。但是这就存在一个问题这个定时是动态的。那么我们如何实现呢?请接着看
|
PHP Windows
thinkphp3定时任务,tp定时任务,thinkphp定时任务
thinkphp3定时任务,tp定时任务,thinkphp定时任务
551 0
|
PHP Windows
thinkphp5定时任务,tp5定时任务,thinkphp定时任务,php定时任务,php定时器
thinkphp5定时任务,tp5定时任务,thinkphp定时任务,php定时任务,php定时器
344 0
|
PHP Windows
thinkphp6定时任务,tp6定时任务,thinkphp定时任务,php定时任务,php定时器
thinkphp6定时任务,tp6定时任务,thinkphp定时任务,php定时任务,php定时器
318 0
|
Java Spring
使用定时任务 随着项目启动定时执行
使用定时任务 随着项目启动定时执行
270 0