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

相关推荐
可触的未来,发芽的智生6 小时前
一万个为什么:频率和相位
javascript·人工智能·python·程序人生·自然语言处理
雍凉明月夜6 小时前
深度学习之目标检测(1)
人工智能·深度学习·目标检测
国科安芯6 小时前
核工业检测系统通信链路的国产化元器件安全等级评估
运维·网络·人工智能·单片机·嵌入式硬件·安全·安全性测试
水如烟6 小时前
孤能子视角:“自指“,任何具有足够复杂性的关系性存在在演化中必然涌现的、定义其根本边界的“内在奇点”
人工智能
IT_陈寒6 小时前
Vite 5 实战:7个鲜为人知的配置技巧让构建速度提升200%
前端·人工智能·后端
weixin_669545206 小时前
高精度二合一锂电池保护芯片XR2130B
人工智能·硬件工程·信息与通信
小毅&Nora6 小时前
【Spring AI Alibaba】⑥ 记忆管理(Memory):让Agent拥有“长期记忆“的智能方法
人工智能·spring ai·记忆管理
kevin_kang7 小时前
06-Next.js 13构建现代化AI聊天界面
人工智能