分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

php多进程模型 ?开箱即用

发布时间:2023-09-19 14:05责任编辑:傅花花关键词:暂无标签

仓库地址

https://github.com/xieyong1023/MultiProcess

安装

使用composer

  1. 将仓库加到你的项目composer.jsonrepositories
{ ???"repositories": [ ???????{ ???????????"type": "git", ???????????"url": "https://github.com/xieyong1023/MultiProcess.git" ???????} ???]}
  1. 安装
composer require "xieyong1023/MultiProcess"

示例

规定子进程数量,主进程同时创建多个子进程执行同一个任务

可以传入回调函数,全部任务执行完后执行

use MultiProcess\ProcessClone;$mum = 2; // 子进程数量$call = function () { // 任务以闭包的形式传入 ???sleep(5); ???echo "hello";};$p = new ProcessClone($num, $call);$callback = function() { ???echo 'done';};// 指定callback,任务执行完后执行$p->run($callback);...// 主进程继续执行...

规定子进程数量上限,接受数组形式的任务参数,每个参数会传入给任务。任务执行次数取决于参数数组大小。

可以传入回调函数,全部任务执行完后执行

use MultiProcess\ProcessClone;$num = 3;$call = function ($begin, $end) { ???sleep(5); ???echo "{$begin} ~ {$end}\n";};// 任务参数(索引数组) key => name 分别代码传给任务闭包的参数名、参数值$params = [ ???[ ???????'begin' => '2018-01-01', ???????'end' => '2018-01-02', ???], ???[ ???????'begin' => '2018-01-02', ???????'end' => '2018-01-03', ???], ???[ ???????'begin' => '2018-01-03', ???????'end' => '2018-01-04', ???], ???[ ???????'begin' => '2018-01-04', ???????'end' => '2018-01-05', ???], ???[ ???????'begin' => '2018-01-05', ???????'end' => '2018-01-06', ???],];$p = new ProcessCloneParams($num, $call, $params);$p->run(function() { ???echo 'done';});...// 主进程继续执行...

php多进程模型 ?开箱即用

原文地址:https://www.cnblogs.com/xieyong-p/p/10785550.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved