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

相关推荐
蒸汽求职4 分钟前
机器人软件工程(Robotics SDE):特斯拉Optimus落地引发的嵌入式C++与感知算法人才抢夺战
大数据·c++·算法·职场和发展·机器人·求职招聘·ai-native
诸葛务农5 分钟前
AGI 主要技术路径及核心技术:归一融合及未来之路5
大数据·人工智能
光影少年5 分钟前
AI Agent智能体开发
人工智能·aigc·ai编程
ai生成式引擎优化技术19 分钟前
TSPR-WEB-LLM-HIC (TWLH四元结构)AI生成式引擎(GEO)技术白皮书
人工智能
帐篷Li20 分钟前
9Router:开源AI路由网关的架构设计与技术实现深度解析
人工智能
新缸中之脑39 分钟前
在GCP上运行autoresearch
人工智能
Fleshy数模40 分钟前
OpenCV 实时人脸检测实战:从视频文件到人脸框标注
人工智能·opencv·计算机视觉
Timer@1 小时前
LangChain 教程 04|Agent 详解:让 AI 学会“自己干活“
javascript·人工智能·langchain
青稞社区.1 小时前
ICLR‘26 Oral | 当 LLM Agent 在多轮推理中迷失时:T3 如何让强化学习重新学会主动推理
人工智能·算法·agi
环黄金线HHJX.1 小时前
Tuan符号系统重塑智能开发
开发语言·人工智能·算法·编辑器