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

相关推荐
AINative软件工程3 分钟前
Function Calling 实战:从零构建一个 AI Agent
人工智能
入门工作者8 分钟前
opencv 轮廓内点集高速获取
人工智能·opencv·计算机视觉
hzb666669 分钟前
xd_day32-day40
java·javascript·学习·安全·web安全·tomcat·php
NikoAI编程12 分钟前
本周 AI 大事件:Claude 加速、Sora 落幕、国产模型突破
人工智能·ai编程·claude
心勤则明13 分钟前
Spring AI Alibaba 实战 MCP 协议
java·人工智能·spring
嘉伟咯13 分钟前
动手做一个AIAgent - SKILLS
人工智能·agent
hughnz13 分钟前
埃克森美孚如何使用AI智能体
人工智能
rgb2gray15 分钟前
论文详解:基于POI与出租车轨迹的城市多中心结构静态-动态多重分形特征
人工智能·python·算法·机器学习·数据分析·可解释
sunxunyong16 分钟前
HDFS nnsdy重新配置启动
大数据·hadoop·hdfs
bukeyiwanshui16 分钟前
Hadoop环境搭建
大数据·hadoop·分布式