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

相关推荐
SNWCC17 分钟前
autodl_M000_pytorch
人工智能·pytorch·python
Swift社区22 分钟前
ArkUI 如何设计 AI 原生 UI?
人工智能·ui
最初的↘那颗心31 分钟前
Spark Job 调度机制拆解:从 Action 算子到 Task 执行
大数据·spark·分布式计算
Lw中32 分钟前
RAG用户查询太模糊?
人工智能·大模型应用开发·rag查询
deephub39 分钟前
多智能体系统的三种编排模式:Supervisor、Pipeline 与 Swarm
人工智能·python·大语言模型·agent
Lw中39 分钟前
提示词效果不稳定?
人工智能·rag·大模型应用基础
globaldomain43 分钟前
安全研究发现OpenClaw AI代理“极易受劫持”
人工智能·安全·openclaw·龙虾
墨10241 小时前
与 AI 并肩成长:从个人知识库到每日新闻系统的实践记录
人工智能·ai·ai编程·openclaw
翱翔的苍鹰1 小时前
LangChain是一个主流的大语言模型(LLM)应用开发框架,核心功能是连接大模型与外部资源/工具。
网络·人工智能·python·深度学习·语言模型