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

相关推荐
小橙子学AI1 分钟前
Rokid AI眼镜皮肤健康检测智能体技术实践
人工智能
QQ676580082 分钟前
智慧工地物料堆积识别 工地钢筋木材图像识别 工地砖块目标检测 建筑物大理石图像识别 建筑物工地材料识别 物料堆积识别10349期
人工智能·目标检测·计算机视觉·工地物料堆积·工地钢筋木材图像识别·工地砖块目标检测·建筑物大理石图像
懂AI的老郑5 分钟前
时空智能体技术研究与应用
人工智能
Wild API7 分钟前
多模型成本治理怎么落地?从任务分层、日志统计到结构优化的一套实战思路
大数据·网络·人工智能
桌面运维家10 分钟前
vDisk环境下机房保护卡更新操作指南
大数据
前端摸鱼匠11 分钟前
【AI大模型春招面试题22】层归一化(Layer Norm)与批归一化(Batch Norm)的区别?为何大模型更倾向于使用Layer Norm?
开发语言·人工智能·面试·求职招聘·batch
武子康15 分钟前
大数据-274 Spark MLib-决策树剪枝完全指南:预剪枝与后剪枝原理对比
大数据·后端·spark
人工智能AI技术15 分钟前
索引基础:数据库索引结构与优化原则
人工智能
永霖光电_UVLED18 分钟前
像“黏土”一样被光塑造的材料
大数据·人工智能·汽车·制造·娱乐
wechat_Neal19 分钟前
新能源整车配电方案解析
人工智能·汽车