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

相关推荐
莞凰1 分钟前
昇腾CANN的“御剑飞行“:ATB仓库探秘
人工智能·flutter·transformer
心中有国也有家13 分钟前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构
這花開嗎23 分钟前
试了一圈配音网站,说说我的感受
人工智能·语音识别
w_t_y_y26 分钟前
AI应用demo(二)打造个人的code agent
人工智能·语音识别
云登指纹浏览器30 分钟前
指纹浏览器RPA自动化实战:跨境电商多账号运营效率提升指南
大数据·自动化·rpa
Raink老师32 分钟前
【AI面试临阵磨枪-60】微服务下 AI 能力如何封装、网关、限流、监控
人工智能·微服务·面试
ApiHug38 分钟前
Mintlify、Stainless & ApiHug 在AI 时代的战略意义
人工智能
九皇叔叔40 分钟前
Spring-Ai-Alibaba [04] 04-llm-platform-custom-demo
java·人工智能·spring
ai生成式引擎优化技术40 分钟前
DLOS Kernel v0.5:从多Agent系统到AI操作系统内核的拐点
人工智能
CHEN5_0244 分钟前
深入理解 RAG(检索增强生成):核心流程、技术选型与进阶实战
人工智能·rag