云河空间

php 多进程处理任务脚本

$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

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

0
分享到:

评论 0

评论 沙发

评论前必须登录!

登录

分享:

支付宝

微信