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

相关推荐
谁似人间西林客1 分钟前
工业AI原生企业是什么?制造业智能化升级的新路径
大数据·人工智能·ai-native
段一凡-华北理工大学3 分钟前
LangChain框架在高炉炼铁智能化领域的应用~系列文章09:工具调用Tool — 让AI学会操作高炉仪表盘
网络·人工智能·架构·langchain·高炉炼铁·高炉智能化·高炉智能体
工业胶粘剂技术3 分钟前
K-1306双组份丙烯酸结构胶技术白皮书:TDS全参数解析、核壳增韧机理与高端制造选型指南
大数据·人工智能·制造
FL16238631295 分钟前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
云水一下12 分钟前
从零开始学 PHP 系列(六):MySQL 数据库与 PHP 交互——让数据真正“住”进服务器
数据库·mysql·php
meilindehuzi_a13 分钟前
从 Canvas 到 Vibe Coding:HTML5 游戏开发入门与 AI 飞机大战实战
前端·人工智能·html5
大大大大晴天️19 分钟前
Flink Connector Formats深度解析:从原理到实践
大数据·flink
把你拉进白名单20 分钟前
7.OpenClaw源码解析——可靠消息投递
人工智能·llm·agent
2601_9603563820 分钟前
大数据相关专业课程难度排名分析
大数据
劈星斩月23 分钟前
机器学习之 定义与三大范式
人工智能·机器学习·监督学习·强化学习·无监督学习