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

相关推荐
烈风逍遥6 小时前
基于 Vue 3+Spring Boot 构建 RAG 智能知识库
人工智能
机器之心6 小时前
1/10成本、Opus 4.7级表现,Cursor甩出了性价比之王Composer 2.5
人工智能·openai
身如柳絮随风扬6 小时前
Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践
大数据·git
机器之心6 小时前
从卖token到卖结果,这些公司开始让AI背KPI了
人工智能·openai
效能革命笔记6 小时前
AI模型平台选型指南:开源生态与国产算力如何优选
人工智能·开源
机器之心6 小时前
H100去哪儿了?
人工智能·openai
多年小白6 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
小领航6 小时前
构建 MySQL MCP Server
人工智能·node.js
dog2507 小时前
为何新增网络路径反而引入额外时延
服务器·网络·php
paperClub7 小时前
AACR 2026 · AI诊断:深度学习在肿瘤早期检测中的应用
人工智能·深度学习