ThinkAdmin v5.0 增加自定义任务机制,不再依赖于 think-queue 组件。 去除数据表 system_jobs 和 system_jobs_log,增加 system_queue 表。 关于异步任务处理指令如下:
admin/sys.php 函数增加 sysqueue 函数以方便增加 任务队列。 sysqueue($title, $loade, $later = 0, $data = [], $double = 1) 可以指定任务的标题,执行任务,延时时间,任务附加数据,允许创建重复任务等。 有些任务,在待处理和处理中是不需要再创建重复任务的,$double 就需要设置为0,这是根据标题来识别的,所以标题也可以适当加上个性名称。 自建的异步处理是多进程任务处理,其中 windows 是基于 wmic 指令创建进程实现的,而 linux 则是通过 & 符实现。 因为是异步并列执行,建议自行控制下任务数据,免得过多消耗系统资源而影响项目正常使用。 在部署时,通常我们只需要创建定时器去执行 目前,ThinkAmdin V5 自定义异步任务机制支持两种规则机制。 一、自定义单独的处理类,需要继承 二、自定义 ThinkPHP 指定,默认使用 Console::call() 去尝试执行传入的指令。如: sysqueue("同步[{$this->appid}]粉丝列表",'xfans:all', 0, ['appid' => $this->appid], 0); 关于ThinkAdmin更多用法,请移步 https://gitee.com/zoujingli/ThinkAdmin |