PCF PHP 并发框架

开源网站开源项目 24-06-16 09:23:43

php并发框架,让开发的脚本自动并发运行起来

PCF主要有两个目的:1.使并发程序写起来更容易。写的单个脚本可以自动并发跑起来2.使并发控制更简单。并发的进程数可以随时增多和减少,特意暂停或意外中止的程序会记录暂停点,  下次执行时从暂停点继续执行。

PCF的框架图如下

假设我们有如下的数据处理需求: 一共有200个表的数据,每个表有一百万的数据,对于每个数据要进行某种处理。

为了高效处理,需要进行并发处理,用户代码示例如下,假如在文件usercode.php中:

<?php  require_once 'currFrame.php';//包含框架代码define('TABLENUM',10);//用户类继承框架类class Example extends CurrFrame { /** * 产生消息 */public function produce(){for ($i = 0;$i <TABLENUM ;$i++){$this->addMsg($i);//添加消息,此处为表序号}$this->endMsg(); //结束消息,如果没有更多消息,就要结束,否则总会尝试读取更多消息}/** * 具体处理代码 * @param  $msg 当前处理的消息 * @param  $pos  当前处理到的位置   */public function process($msg,$pos = NULL) {$no = $msg;    $j = $pos ==NULL ? 0:$pos;   for(;$j<10;$j++){    //此处放具体处理逻辑    $this->recordProcess($j); //记录处理进度}}/** *所有进程运行完成后执行的代码 */public function output(){}}$obj = new Example();$obj->run();

启动并发只要执行 php usercode.php batch 3 ,表示启动3个并发,可以随时更改并发的参数,也可以设为0,表示停止所有的处理

[PCF PHP 并发框架]相关推荐

Consul 服务的注册和发现

Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现。支持外部 SaaS 提供者……...

xCAT 集群管理和配置工具

xCAT (Extreme Cloud Administration Toolkit) 是一个开源的可扩展的高级集群管理和配置工具,允许使用者……...

Xen 开源虚拟机

Xen 项目专注于在一些不同的商业和开源应用中推进虚拟化,包括服务器虚拟化、基础设施即服务(IAAS)、桌……...

magent Memcached 代理软件

magent 是一款开源的Memcached代理服务器软件。 特性 保持与内存缓存服务器的连接 支持以下 memcached 命……...

xs C 多线程网络库

基于C多线程网络库,欢迎大家使用,例子在代码example目录下,以后我会再增加一些例子。 文档暂时没有,……...

今日开源
  1. Min Browser 开源的极简浏览器

    Min Browser 开源的极简浏览器

    Min是一款开源的极简浏览器,拥有智能、快速的特点。一些特性: 通过使用DuckDuckGo在搜索栏中显示搜索结果 拦截网页内置广告和跟踪 模糊搜索 支持书签的全文搜索 阅读列表 标签页改进(标签页在右边打开并会……

    开源软件 2024-06-23

  2. BitSail 高性能数据集成引擎

    BitSail 高性能数据集成引擎

    BitSail 是字节跳动开源的基于分布式架构的高性能数据集成引擎,支持多种异构数据源间的数据同步,并提供离线、实时、全量、增量场景下的全域数据集成解决方案,目前服务于字节内部几乎所有业务线,包括抖音、今日……

    开源软件 2024-06-23

  3. Expose 静态网站生成器

    Expose 静态网站生成器

    Expose 是一个帮助图配文生成的静态网站生成器。 当你有如下的图片或视频文件夹时: Expose 的 Bash 脚本可以将这些图像和视频转换成类似 jack.ventures 或 jack.works(作者个人博客)的形式。 如果你不喜欢这……

    开源软件 2024-06-23

返回顶部小火箭