Thinkphp6实现定时任务功能

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

  1. 首先创建安装Worker,执行composer require topthink/think-worker 安装
  2. 在config/console.php中定义指令 'timer' => \crmeb\command\Timer::class
  1. 对应图1中的路径创建自定义指令crmeb\command\Timer.php
  1. configure方法只要配置指令的内容,文件定义了一个timer的命令,设置了一个status的参数以及两个(d:是否DAEMON方式启动,以及i:执行间隔)的选项。

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

  1. execute开始执行命令调用下方start方法

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

  1. 在定时任务事件订阅类中完成对应系统方法的调用,即可实现定时任务功能

  2. 命令行执行命令 php think timer start --d

相关推荐
IvorySQL几秒前
PostgreSQL 日报| pg_vectorsearch 开源向量搜索发布(10 月 14 日)
数据库·人工智能·postgresql·开源·区块链
Summer-Bright3 分钟前
深度 | AI 早期融资的估值前置:种子轮买人,A 轮买营收,安全边际在消失
人工智能·安全
会灭火的程序员3 分钟前
大模型部署硬件资源计算指南:从显存估算到显卡选型
人工智能·算法
LittroInno7 分钟前
AI云台相机如何协同成像 识别 跟踪与运动
人工智能·数码相机·计算机视觉·目标跟踪·目标识别·云台相机
dd聊技术8 分钟前
给检索改动装一盏红绿灯:评测门禁怎么建、怎么用
人工智能·后端
chipsense9 分钟前
电焊机电源的电流检测:为什么你的焊缝总是不稳定
人工智能·霍尔电流传感器·电流检测·电焊机
迪康coolmu9 分钟前
迪康Defender网络准入控制系统落地实战:部署、配置与问题排查记录
运维·开发语言·网络·经验分享·php
鬓戈12 分钟前
AI基础之神经网络
人工智能·深度学习·神经网络