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

相关推荐
用户302822530685 分钟前
一个 Agent 失败,别急着杀掉所有兄弟任务
人工智能·架构
阿明副业观察7 分钟前
AI分镜批量生成与画风统一的秘诀
大数据·人工智能·aigc·音视频·ai写作
汤姆宝库10 分钟前
长上下文深拆:RoPE外推、稀疏注意力与KV经济学
人工智能
小蒋观天下11 分钟前
【无标题】红外补光近距过曝、远距欠曝:导致车牌AI识别失效调试
人工智能·深度学习·数码相机·算法·机器学习·ai大模型
SuperHeroWu712 分钟前
ArkGenie 的技术原理:从一段 SSE 到一个可交互 Surface
开发语言·php·交互
醒醒该学习了!14 分钟前
AI+数据与逻辑工作流
人工智能
xiaoyunxuexibiji15 分钟前
企业招投标合规管理:从招标文件审查到评标风险防控
人工智能
nlp研究牲20 分钟前
Linux 常用命令速查手册:英文全称、中文释义、巧记方法与实战示例
linux·运维·php
Liaiyang6630 分钟前
空圈——永远流动的世界与永远留空的圈
人工智能·量子力学·哲学·认知科学·宇宙学·空圈容错
段一凡-华北理工大学31 分钟前
高炉炼铁机器视觉与智能识别十八讲~系列文章17:实战案例:一个风口监控系统的完整搭建
人工智能·pytorch·深度学习·机器学习·计算机视觉·高炉风口监测系统