queue 中使用curl_multi 创建多个句柄无法运行成功

1. 运行环境

1). 当前使用的 Laravel 版本?

5.X

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.0

php-fpm 版本:7.0

3). 当前系统

CentOS 6
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )

4). 业务环境

开发环境
//: <> (期待信息 开发环境生产环境)
//: <> (是否使用负载均衡?请提供相关信息)

5). 相关软件版本

2. 问题描述?

我在其他地方调用 该方法可以成功
但是在队列中调用失败,没有报错信息 并且cpu一直升高

    $optArr = [
        CURLOPT_HTTP_VERSION => 3,
        CURLOPT_POSTFIELDS => '',
        CURLOPT_HEADER => TRUE,
        CURLOPT_RETURNTRANSFER => 1,
    ];
    $result = [];
    //创建多个curl资源
    for ($i=0; $i<2; $i++) {
        $chArr[$i] = curl_init();
        $optArr[CURLOPT_URL] = $service_url;
        curl_setopt_array($chArr[$i], $optArr);
    }
    //创建批处理curl句柄
    $mh = curl_multi_init();
    //将单个curl句柄添加到批处理curl句柄中
    foreach ($chArr as $ch) {
        curl_multi_add_handle($mh, $ch);
    }
    //判断操作是否仍在执行的标识的引用
    $active = null;

    do {
        //处理在批处理栈中的每一个句柄
        $mrc = curl_multi_exec($mh, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);

    while ($active && $mrc == CURLM_OK) {
        if (curl_multi_select($mh) != -1) {
            //程序退出阻塞状态继续执行需要处理的 $ch 句柄
            do {
                $mrc = curl_multi_exec($mh, $active);
            } while ($mrc == CURLM_CALL_MULTI_PERFORM);
        }
    }

    foreach ($chArr as $i=>$ch) {
        //获取某个curl句柄的返回值
        $result[$i] = curl_multi_getcontent($ch);
        //移除批处理句柄中的某个句柄资源
        curl_multi_remove_handle($mh, $ch);
    }
    //关闭一组curl句柄
    curl_multi_close($mh);

3. 您期望得到的结果?

4. 您实际得到的结果?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!