ThinkAdmin v5.0 增加自定异步任务机制

栏目: 软件资讯 · 发布时间: 5年前

内容简介:ThinkAdmin v5.0 增加自定义任务机制,不再依赖于 think-queue 组件。 去除数据表 system_jobs 和 system_jobs_log,增加 system_queue 表。 关于异步任务处理指令如下: 执行 php think xtask:listen 启动异步任...

ThinkAdmin v5.0 增加自定义任务机制,不再依赖于 think-queue 组件。

去除数据表  system_jobs 和 system_jobs_log,增加 system_queue 表。

关于异步任务处理指令如下:

  • 执行 php think xtask:listen 启动异步任务监听守护主进程
  • 执行 php think xtask:query 查询正在执行的所有任务进程
  • 执行 php think xtask:start 创建异步任务监听守护主进程
  • 执行 php think xtask:state 查看异步任务监听主进程状态
  • 执行 php think xtask:stop 平滑停止异步任务所有的进程

admin/sys.php 函数增加 sysqueue 函数以方便增加 任务队列。

sysqueue($title, $loade, $later = 0, $data = [], $double = 1)

可以指定任务的标题,执行任务,延时时间,任务附加数据,允许创建重复任务等。

有些任务,在待处理和处理中是不需要再创建重复任务的,$double 就需要设置为0,这是根据标题来识别的,所以标题也可以适当加上个性名称。

自建的异步处理是多进程任务处理,其中 windows 是基于 wmic 指令创建进程实现的,而 linux 则是通过 & 符实现。

因为是异步并列执行,建议自行控制下任务数据,免得过多消耗系统资源而影响项目正常使用。

在部署时,通常我们只需要创建定时器去执行 php think xtask:start 就可以守护异步任务监听进程。

目前,ThinkAmdin V5 自定义异步任务机制支持两种规则机制。

一、自定义单独的处理类,需要继承 app\admin\queue\Queue 抽象类,实现 execute 方法,参数为  $input, $output, $data 
其中 input 为 cli 输入对象,output 为 cli 输出对象,而 data 为任务绑定的数据。详情可以阅读:https://gitee.com/zoujingli/ThinkAdmin/blob/master/application/wechat/queue/WechatQueue.php

二、自定义 ThinkPHP 指定,默认使用 Console::call() 去尝试执行传入的指令。如:

sysqueue("同步[{$this->appid}]粉丝列表",'xfans:all', 0, ['appid' => $this->appid], 0);

关于ThinkAdmin更多用法,请移步 https://gitee.com/zoujingli/ThinkAdmin

ThinkAdmin v5.0 增加自定异步任务机制

ThinkAdmin v5.0 增加自定异步任务机制


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

OKR工作法

OKR工作法

克里斯蒂娜•沃特克 (Christina Wodtke) / 明道团队 / 中信出版社 / 2017-9-1 / CNY 42.00

《OKR工作法》讲述了一种风靡硅谷科技企业的全新工作模式。 如何激励不同的团队一起工作,全力以赴去实现一个有挑战性的目标? 硅谷的两个年轻人汉娜和杰克,像很多人一样,在萌生了一个创意后,就走上创业之路。但是,很快他们发现好的想法远远不够,必须还有一套适合的管理方法确保梦想能实现。为了让创业团队生存下来,汉娜和杰克遭受了内心的苦苦挣扎和煎熬。他们患上“新奇事物综合症”,什么都想做,导致无......一起来看看 《OKR工作法》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具