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

相关推荐
小圣贤君2 分钟前
在 Electron 应用中优雅接入 DeepSeek AI:从零到一的完整实践指南
人工智能·electron·vue3·ai写作·deepseek
【赫兹威客】浩哥4 分钟前
【赫兹威客】完全分布式Flink测试教程
大数据·分布式·flink
证榜样呀5 分钟前
2026 中专大数据技术专业适合的入门岗位清单
大数据·数据库架构
csgo打的菜又爱玩7 分钟前
数仓整体架构和建模架构
java·大数据·开发语言·架构
小程故事多_809 分钟前
AI Agent架构革命,Skills模式为何能颠覆传统Workflow?
人工智能·架构·aigc
sali-tec9 分钟前
C# 基于OpenCv的视觉工作流-章15-多边形逼近
图像处理·人工智能·opencv·算法·计算机视觉
TonyLee0179 分钟前
LLM与传统机器学习
人工智能·机器学习
z_lices10 分钟前
倪仁勇:K线语言破译者,技术分析体系的建构者与传播者
大数据·人工智能
重生之绝世牛码10 分钟前
Linux软件安装 —— ClickHouse集群安装(集成Zookeeper)+ chproxy负载均衡
大数据·linux·数据库·clickhouse·软件安装·clickhouse集群安装·clickhouse负载均衡
救救孩子把10 分钟前
57-机器学习与大模型开发数学教程-5-4 共轭梯度法
人工智能·机器学习