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

相关推荐
shaibdoio1 分钟前
AI主动获客的意图识别工程实现:从规则匹配到模型微调
java·开发语言·人工智能·长沙瞬维ai
信可维8 分钟前
ReAct、Plan-Execute、Reflexion 三种 Agent 架构怎么选:按任务类型分三档
人工智能
用户3610588626128 分钟前
Flink Time 之时间语义深度剖析:从 Processing Time 到 Event Time 与 Watermark 机制
大数据·flink
顿哥GPT11 分钟前
Codex 下载与本地部署实战:从零搭建你的 AI 编程助手
人工智能
云上先途16 分钟前
GEO优化服务是什么,和普通的地域访问加速有什么区别?
人工智能
米多科技24 分钟前
我做了一个 3D 虚拟世界基底,在上面再搭 3D 世界或元宇宙,事半功倍
javascript·人工智能·github
Csvn36 分钟前
从 request_id 到可视化 trace:Langfuse 全链路追踪实战(O02)
人工智能·aigc
回眸&啤酒鸭40 分钟前
【回眸】GenPage 3.0 智能页面生成实战指南
人工智能
果霸大叔41 分钟前
AI 网关和传统 API 网关,到底差在哪?—— 用一个"限流"场景讲透本质
人工智能
AliCloudROS1 小时前
OOS ChatOps 技能大爆发:一句话搞定云上运维的时代来了
人工智能