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

相关推荐
全栈陈序员几秒前
【Git】从入门到精通(四)—— Git三大区域:工作区、暂存区与版本库
大数据·git·elasticsearch
Sayai2 分钟前
Elasticsearch ingest pipeline 被禁用之后:性能代价、安全治理与数据入库时间的四种替代方案
大数据·运维·安全·elasticsearch·搜索引擎·性能优化
阿愚先生2 分钟前
【从零手写GPT(一)】:RTX 5080 环境踩坑,我装错了两次 PyTorch
人工智能·pytorch·gpt
Zzj_tju5 分钟前
一个温度参数,能修复多少过度自信?
人工智能·语言模型
fengci.7 分钟前
CTF2困难部分
开发语言·网络·python·安全·php
无责任此方_修行中7 分钟前
模型变强了,架构为什么反而要变?——从"折叠 subagent"到"Super-agent"
人工智能·ai编程·deepseek
小哈里11 分钟前
【推理】NVIDIA DLI培训:大规模部署与优化 AI 推理(推理原理,K8S,网关层,pd分离,MoE,Dynamo)
人工智能·容器·kubernetes·nvidia·推理
ggabb13 分钟前
英语:对新科技新技术命名,词根拼接 + 借用旧词 + 缩写泛滥
人工智能·科技
LK_0716 分钟前
【Agent】工具调用的安全边界:从模型输出到程序执行
人工智能·笔记·python·agent
土星云SaturnCloud17 分钟前
基于 PP-OCR 的车牌识别:从数据整理到土星云 SE110S 系列边缘部署
人工智能·ai·ocr·边缘计算