Thinkphp6实现定时任务功能详解教程

本文详述了如何在Thinkphp6中设置定时任务,包括安装Worker、配置console.php、创建自定义指令、定义命令内容、初始化参数、执行命令及定时任务逻辑。通过在事件订阅类中调用系统方法,实现定时任务功能。启动命令为'php think timer start --d'。文章末尾提供了源码获取地址和相关学习资源。

前言
本文主要介绍命令启动定时任务的功能,按照CRMEB标准版的程序为大家详细的进行实现过程的介绍

一、首先创建安装Worker,执行composer require topthink/think-worker 安装

二、在config/console.php中定义指令 ‘timer’ => \crmeb\command\Timer::class

在这里插入图片描述

三、对应图1中的路径创建自定义指令crmeb\command\Timer.php

四、configure方法只要配置指令的内容,文件定义了一个timer的命令,设置了一个status的参数以及两个(d:是否DAEMON方式启动,以及i:执行间隔)的选项。

五、init方法在执行命令的时候对参数进行初始化并组合数据,判断命令是启动还是停止,是否修改执行间隔,是否以守护进程方式启动

在这里插入图片描述

六、execute开始执行命令调用下方start方法

七、start方法开始执行定时执行的逻辑按照设置的间隔时间($this->interval)进行执行,默认2秒运行一次,调用系统中app\event.php文件下定时任务事件订阅类

在这里插入图片描述

在定时任务事件订阅类中完成对应系统方法的调用,即可实现定时任务功能
命令行执行命令 php think timer start --d

在这里插入图片描述

至此Thi

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值