<?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

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

 

相关文章:

  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2021-04-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-01
  • 2021-11-18
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案