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

相关推荐
晴天小庭12 小时前
Sael——基于Jev的AI中转站的安全风控网关,现已开源
人工智能·后端·react.js
机核研创社12 小时前
缝制工厂招工难?自动化改造把“靠人“变成“靠参数“
人工智能·自动化
你就是答案 -14812 小时前
2026 企业 AI 办公工具选型指南:匹配业务场景才是核心
大数据·人工智能
成长之路51412 小时前
【数据集】全国省市县三级逐年平均气温数据(excel+shp)1901-2024年
大数据
橘和柠12 小时前
llama.cpp 与 GGUF 格式:本地大模型的“裸引擎“
人工智能
新鲜势力呀12 小时前
PHP 日志系统实战:从排查线上故障困难到 ELK日志分析 + 链路追踪 + 实时监控完整架构方案
elk·架构·php
小小测试开发12 小时前
同一批 30 题输出,等权 0.78、按长度加权掉到 0.61:加权口径能直接把结论掰弯
人工智能
sarasuki12 小时前
Agent 的记忆有几种?你的名字是?
人工智能·设计模式·agent
guslegend12 小时前
AI 编程范式转换与 Memory 工程:从无状态模型到 AGENTS.md 声明式配置
人工智能·大模型·agent·ai编程·opencode