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

相关推荐
倍利福猎头公司官方账号4 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
阿里云大数据AI技术4 小时前
淘天集团基于 Milvus 的商品知识库实践——为店铺 AI 导购构建大规模商品知识与 FAQ 检索底座
人工智能
Zzj_tju4 小时前
智能体该向哪段经验学习?Routed CL 在混合任务中探索记忆分流
人工智能·深度学习·机器学习·语言模型
这个DBA有点耶4 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
AI视频工具指南5 小时前
怎么用 AI 做节日祝福视频?
人工智能·音视频·节日
归来少年Plus5 小时前
RAG——让 AI 基于企业知识库回答问题
人工智能
Margrop5 小时前
话费接进 Home Assistant 报 3006 设备未信任:一次 Agent 拆解电信协议与手搓零云端授权实录
人工智能
william_yangshun5 小时前
【AI实战】Claude-Code-Game-Studios中文版使用教程:把Claude Code改造成49个Agent的游戏工作室
人工智能·游戏
神鹰手哥_起飞版5 小时前
我用豆包 Seed 做了个 B 站陪看插件:长视频摘要、语音识别和几个工程坑
人工智能
meiying88385 小时前
多快递公司快递单号批量查询接口怎么对接?Python 聚合查询实现
java·大数据·python