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 分钟前
同元“AI工程七步法”实践:把桌面CAD搬到Web
前端·人工智能
Dfreedom.5 分钟前
集成学习完全解析:从核心思想到常见误区
人工智能·机器学习·集成学习
杜子不疼.6 分钟前
Linux 部署 RocketMQ 实操:从内网到公网,搞定远程消息服务
linux·运维·人工智能·rocketmq
ACP广源盛139246256736 分钟前
ASW3810@ACP#4 路差分 2:1/1:2 双向多路复用 / 解复用器 产品规格与应用总结
大数据·单片机·嵌入式硬件·计算机外设·电脑
新缸中之脑7 分钟前
NotebookLM:最佳学习工具
人工智能·学习·chatgpt
8Qi87 分钟前
Hello-Agents阅读笔记--Reflection
人工智能·llm·agent·智能体
dinl_vin7 分钟前
一文通关Spark
大数据·分布式·spark
LightYoungLee8 分钟前
大模型(七)Agent AI学习笔记
人工智能·笔记·学习
Men-DD8 分钟前
AI(四): 工具 (GitNexus、CLI-Anything)
人工智能·ai·gitnexus·cli-anything