php 异步处理多个队列同时进行

<?php

      $batchId =time();
      $queueNames = ['ProfitExportQueueOne', 'ProfitExportQueueTwo', 'ProfitExportQueueThree', 'ProfitExportQueueFour', 'ProfitExportQueueFive', 'ProfitExportQueueSix'];
        /*其中可以开启六个进程*/ 
        $getName = $queueNames[array_rand($queueNames)];
        /*$batchId是批量号,也可以是队列参数数组
       //其中 redis 是连接的载体,用redis做异步的 onQueue是队列名称
        ProfitExportQueue::dispatch($batchId)->onConnection('redis')->onQueue($getName);
然后再本地环境调试,开启队列的时候:

php artisan queue:work --queue=ProfitExportQueueOne  后面的参数为队列名称 如果要开启六个就开六个进程

#redis 队列配置
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
CACHE_PREFIX=order

 

posted on 2021-11-19 20:29  kevin_yang123  阅读(291)  评论(0编辑  收藏  举报