php 多进程处理任务脚本

admin6年前程序心得1389
$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

分享到:

相关文章

lnmp 安装mongodb以及 mongodb扩展

lnmp 安装mongodb以及 mongodb扩展

笔者环境:lnmp 一键安装包:centos7 +php5.6+mysql 5.6 附件:mongo-php-driver-legacy-master.zipgit clone h...

Jq 网页点击图片放大效果(单张)

Jq 网页点击图片放大效果(单张)

首先引入jq文件:  <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></...

如何正确更改kafka broker id

版本:kafka 0.9.0.0 操作:修改server.properties中的broker id 一般会得到如下错误:[2018-08-26 00:41:54,540...

如何 clone git 项目到一个非空目录

1. 进入非空目录,假设是 /workdir/proj12. git clone --no-checkout https://git.oschina.net/NextApp/platform.git...

PHP  计算两个日期之间相隔月数、每月开始日期、结束日期,开始时间戳,结束时间戳

PHP 计算两个日期之间相隔月数、每月开始日期、结束日期,开始时间戳,结束时间戳

在做业务统计计算的时候难免会遇到时间节点问题,一般会涉及的也就是月份、起始日期,然后再数据库做统计查询的时候就会用到时间戳,简单写了下,把代码分享出来,给大家参考,当然有优化的意见,欢迎交流!PHP:...

PHP代码优化

PHP代码效率优化发表于2013/9/24 17:50:06  490人阅读分类: Web1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$ro...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。