php think queue:+指令 queue:restart 队列重启 queue:work 队列执行 queue:listen 队列监听 queue:subscribe 队列订阅 后台遍历执行: php think queue:work --daemon #或者 php think queue:listen queue:work --daemon和queue:listen的区别 queue:
listen 命令: 该命令将会启动一个 listen 进程 ,然后由 listen 进程通过proc_open(‘php think queue:work --queue="%s" --delay=%s --memory=%s --sleep=%s --tries=%s’)的方式来周期性地创建一次性的 work 进程来消费消息队列, 并且限制该 work 进程的执行时间, 同时通过管道来监听 work 进程的输出,...
namespace app\api\controller;usethink\Controller;usethink\Queue;classTestextendsController {//生产者,添加消息队列publicfunctionaddQueue() {//参数$data=['id' =>rand(0, 99), 'userName' => '一起摸鱼'];//消息队列名$queueName= 'testQueue';//推入消息队列,注意这里的 ::class 是PHP5.5才有的...
注意: 当代码有更新时,work 模式下需要手动去执行 php think queue:restart 命令重启队列来使改动生效;而listen 模式会自动生效,无需其他操作。 4: 超时控制能力 work: 本质上既不能控制进程自身的运行时间,也无法限制执行中的任务的执行时间; listen: 可以限制其创建的work子进程的超时时间; 可通过 timeout 参...
使用php think queue:work --daemon去消费这些消息,计算推送和消费各自所耗的时间。 测试结果 : 在最简单的逻辑下,平均每秒中可推送8000个消息,平均每秒可消费200个消息。 注意:由于在测试时,Host 机本身的cpu和内存长期100%,并且虚拟机中的各项服务并未专门调优,因此该测试结果并不具备参考性。
think-queue是ThinkPHP官方提供的一个消息队列服务,是专门支持队列服务的扩展包。think-queue消息队列适用于大并发或返回结果时间比较长且需要批量操作的第三方接口,可用于短信发送、邮件发送、APP推送。think-queue消息队列可进行发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制等操作。 think-queue支持消息队...
queue:参数名称; php think queue:listen \ --queue helloJobQueue \ //监听的队列的名称 --delay 0 \ //如果本次任务执行抛出异常且任务未被删除时,设置其下次执行前延迟多少秒,默认为0 --memory 128 \ //该进程允许使用的内存上限,以 M 为单位 ...
Config::get('queue_name',''):'doPinkJobQueue';// 3.当前任务所需的业务数据 . 不能为 resource 类型,其他类型最终将转化为json形式的字符串if($name){$jobData=['pinkInfo'=>$data,'time'=>date('Y-m-d H:i:s'),'doName'=>$name];$isPushed=Queue::push($jobHandlerClassName,$jobData,...
sudo php7.2 think queue:listen --queue createAdminLogQueue 单次队列消费命令 sudo php7.2 think queue:work --daemon --queue createAdminLogQueue 队列添加php代码快 // 当前队列归属的队列名称 $jobHandlerClassName = 'app\hook\adminLog\job\AdminLogCreateQueueJob'; ...