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

相关推荐
LaughingZhu6 小时前
Product Hunt 每日热榜 | 2026-02-14
数据库·人工智能·经验分享·神经网络·搜索引擎·chatgpt
大模型探员6 小时前
告别答非所问!深度解析文档切分如何决定RAG的搜索上限
人工智能
民乐团扒谱机6 小时前
【读论文】深度学习中的卷积算术指南 A guide to convolution arithmetic for deep learning
人工智能·深度学习·神经网络·机器学习·cnn·卷积神经网络·图像识别
byzh_rc7 小时前
[深度学习网络从入门到入土] 拓展 - Inception
网络·人工智能·深度学习
阿里巴巴淘系技术团队官网博客7 小时前
从应用架构的视角看退小宝AI助手落地现状
人工智能·架构
寻星探路7 小时前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
Elastic 中国社区官方博客7 小时前
DevRel 通讯 — 2026 年 2 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·jina
一个天蝎座 白勺 程序猿7 小时前
飞算JavaAI:从情绪价值到代码革命,智能合并项目与定制化开发新范式
人工智能·ai·自动化·javaai
田里的水稻7 小时前
FA_融合和滤波(FF)-联邦滤波(FKF)
人工智能·算法·数学建模·机器人·自动驾驶
摘星编程8 小时前
解析CANN ops-transformer的FlashAttention算子:注意力机制的内存优化
人工智能·深度学习·transformer