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

相关推荐
工藤学编程几秒前
零基础学AI大模型之LLM大模型存储记忆功能
人工智能
Katecat99663几秒前
钻斗设备部件识别与分类_yolo12-A2C2f-DFFN模型详解与应用
人工智能·分类·数据挖掘
草莓熊Lotso1 分钟前
Linux 命令行参数与环境变量实战:从基础用法到底层原理
linux·运维·服务器·开发语言·数据库·c++·人工智能
阳艳讲ai2 分钟前
九尾狐AI:让AI落地更简单,让商业增长更直接
人工智能
2501_941337062 分钟前
耳部疾病图像识别与分类:基于FreeAnchor与X101模型的实现
人工智能·分类·数据挖掘
OctShop大型商城源码3 分钟前
OctShop源码高效灵活构建小程序多用户商城
大数据·小程序·多用户商城系统·小程序商城系统·小程序多用户商城
qunaa01013 分钟前
结膜区域检测与分类:穹窿部、睑结膜和睑板部结膜识别定位技术研究
人工智能·分类·数据挖掘
忍冬行者3 分钟前
Elasticsearch 介绍及集群部署
java·大数据·elasticsearch·云原生·云计算
向量引擎小橙4 分钟前
【深度】2024-2025 AI 行业下半场:告别“参数竞赛”,卷向“落地”与“Agent”
人工智能
草莓熊Lotso6 分钟前
Qt 控件核心入门:从基础认知到核心属性实战(含资源管理)
运维·开发语言·c++·人工智能·后端·qt·架构