×

php 多进程处理任务脚本

admin admin 发表于2019-05-31 15:56:25 浏览1334 评论0

抢沙发发表评论

$count = $this->objBlbServer->getCntByConds(['id >0']);
//开启四个进程
$pageCount = 4;
$pageSize = ceil($count / $pageCount);
for ($i = 1; $i <= $pageCount; $i++) {
    $pid = pcntl_fork();
    if ($pid == -1) {
        //进程创建失败
        die('fork child process failure!');
    } elseif ($pid) {
        //父进程处理逻辑
        pcntl_wait($status, WNOHANG);
    } else {
        //子进程处理逻辑
        pcntl_exec('/home/homework/php/bin/php', [
            '/home/homework/app/noah/script/cron/BlbBackendServer.php', $i, $pageSize
        ]);
    }
}

链接文档:https://www.php.net/manual/zh/book.pcntl.php

分享到:

群贤毕至

访客