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 分钟前
可靠 Agent 设计:从一句 Prompt 到稳定交付
数据库·人工智能·prompt
ofoxcoding9 分钟前
Seedance 2.0 与 Wan 2026 视频生成 API 成本效率深度对比分析
网络·人工智能·ai·音视频
wuyuanshun16 分钟前
LangGraph原理逻辑-LangGraph接入MCP(三)
人工智能·ai
IT_陈寒16 分钟前
React的useEffect为什么经常执行两次?
前端·人工智能·后端
豆瓣鸡16 分钟前
Elasticsearch IK 分词器自定义词典——扩展词、停用词、热更新、同义词
大数据·elasticsearch·搜索引擎
国服第二切图仔19 分钟前
12-Web工具
大数据·前端
武子康20 分钟前
GitHub Models 7-30 退役全拆:Inventory + Capability Probe + Shadow Traffic + Brownout
人工智能·github·github copilot
REDcker28 分钟前
基于 eBPF 的网络可观测:协议栈路径与 sk_buff
linux·服务器·网络·php·ebpf·bpf
larance35 分钟前
机器学习特征预处理之处理数据不平衡
人工智能·机器学习
视***间39 分钟前
端侧20B级推理标杆:视程空间Pandora,让GPT-OSS 20B在边缘原生落地
人工智能·gpt·大模型·本地部署·大模型本地部署·视程空间