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

相关推荐
vanuan3 小时前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能
大大大大晴天4 小时前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
kfaino5 小时前
码农的AI翻身(四)你好,我叫 Attention
人工智能·后端
雨落Re7 小时前
如何设计一个高质量Skill
人工智能
Token炼金师7 小时前
大模型权重文件全指南:从格式选择到优化实战
人工智能
阿牛哥_GX7 小时前
CDP 浏览器操控原理:让脚本接管你的浏览器
人工智能
ThreeS7 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
米小虾8 小时前
Loop Engineering —— 循环的设计与自主执行
人工智能·agent
米小虾8 小时前
Harness Engineering —— 系统的安全护栏
人工智能·agent
火山引擎开发者社区9 小时前
积分当钱花,火山引擎开发者激励计划首月消费双倍回馈
人工智能