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

相关推荐
kicikng2 分钟前
智能体来了(西南总部)体系解析:AI调度官与AI Agent指挥官的职责边界与Prompt协作逻辑
人工智能·prompt·智能体·平台化架构·自动化协同
终端域名3 分钟前
资产证券化:区块链在现代战争中的核心价值落地 —— 适配性、应用场景与核心优势
大数据·人工智能·区块链
光羽隹衡6 分钟前
计算机视觉——Opencv(图像平滑处理)
人工智能·opencv·计算机视觉
wanghao6664559 分钟前
AI向量:让计算机真正理解人类语言
人工智能
2501_9452921710 分钟前
AI 证书考试形式是怎样的,机考还是笔试,有没有实操题?
人工智能
星河天欲瞩13 分钟前
【深度学习Day4】线性代数基础
人工智能·深度学习·学习·线性代数
Java程序员威哥17 分钟前
使用Java自动加载OpenCV来调用YOLO模型检测
java·开发语言·人工智能·python·opencv·yolo·c#
说私域17 分钟前
AI智能客服S2B2C商城小程序在客户服务场景中的应用与价值——以顾客反馈处理为例
人工智能·小程序·流量运营·私域运营
无忧智库19 分钟前
智慧高速公路运行监测与主动管控云平台:从“传统基建”到“新基建”的全面跃迁(WORD)
大数据·人工智能