SWOOLE协程并发curl访问url api地址多任务处理代码

代码语言:phpcli

所属分类:其他

代码描述:SWOOLE协程并发curl访问url api地址多任务处理代码,通过hook_flags=SWOOLE_HOOK_CURL设置curl实现协程调度的异步 IO请求,请求速度更快。

代码标签: SWOOLE 协程 并发 curl 访问 url api 地址 多任务 处理 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
Co::set(['hook_flags' => SWOOLE_HOOK_CURL]);
//请切换至php7 运行
//此行代码后,文件操作,sleep,Mysqli,PDO,streams等都变成异步IO,见文档"一键协程化"章节
Swoole\Runtime::enableCoroutine();
Co\run(function () {
    $wg = new \Swoole\Coroutine\WaitGroup();

    $result = [];

    $wg->add(); //协程数量加1

    $time = microtime(true);

    for ($i = 0; $i < 100; $i++) {

        go(function () use ($wg, &$result,$i) {
            //use 关键字 函数闭包 调用外部变量

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, "https://baidu.com/?id={$i}");
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0