当前位置: 首页 > 软件库 > 开发工具 > PHP开发工具 >

QPM

PHP进程管理框架
授权协议 GPL
开发语言 PHP
所属分类 开发工具、 PHP开发工具
软件类型 开源软件
地区 国产
投 递 者 家志学
操作系统 Linux
开源组织
适用人群 未知
 软件概览

QPM全名是 Quick Process Management Framework in PHP. PHP 是强大的 web 开发语言,以至于大家常常忘记 PHP 可以用来开发健壮的命令行(CLI)程序以至于 daemon 程序。 而编写 daemon 程序免不了与各种进程管理打交道。QPM 正是为简化进程管理而开发的类库。

以下是用 QPM 编写多进程程序的小例子。

//定义 mission1:每隔3秒打印一次进程信息, 无限循环。    $mission1 = function() {        while(true) {                echo "---mission 1, pid:".posix_getpid()."\n";                sleep(3);        }    };    //定义 mission2:打印信息后 3秒后退出。    $mission2 = function() {                echo "+++mission 2,pid:".posix_getpid()."\n";                sleep(3);    };    //配置: mission 1 和mission 2 同时在子进程中执行。mission 1 只允许在一个子进程中执行,mission 2 则允许2个子进程并行执行。    $config = [        ['worker'=>$mission1],        ['worker'=>$mission2, 'quantity'=>2]    ];    // 使用multiGroupOneForOne 类型的supervisor 启动任务,意味着同组配置,当一个子进程退出后,会立即重启新的子进程继续执行任务。    Comos\Qpm\supervisor\Supervisor::multiGroupOneForOne($config)->start();

QPM 提供了 fork 的面向对象的封装,极大的简化了 fork 代码的可读性;同时实现了一系列 Supervisor 的用法,可以帮助开发者编写健壮的多进程程序。 在未来的版本里,计划逐步开发出信号处理和跨进程通迅的模块。

教程

参考

  • QPM 是一个PHP 进程管理框架,可用于简化Daemon开发,项目地址在:https://github.com/Comos/qpm 截至0.2版本,QPM支持3种Supervison模式,OneForOne MultiGroupOneForOne 和 TaskFactoryMode。 不同的模式可以建立起不同的进程树组合,子进程的重启,并发控制的策略都各不相同,以适应不同的应用场景。 不同的模式

  • QPM (Quality Performance Monitor) 是一个质量性能监控组件,可以很方便的查看当前 App 的性能和常用数据。目前主要运行在 Android 平台上,通过集成 QPM 组件,可以在 App 中通过悬浮窗可视化相关实时数据。意在帮助广大开发者和测试同学快速了解 App 中存在的性能问题,并展示了很多常用的数据,减少重重复杂的操作。 经过了好几个月的方案调研,不断的优化,

  • QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/qpm 环境要求

  • 2级到5级,直接跟项目管理有关的PA有: 2级:PP(项目计划)、PMC(项目计划跟踪与控制) 3级:RSKM(风险管理)、IPM(集成项目管理) 4级:QPM(定量项目管理) 5级:CAR(原因分析及解决方案) 2级的PP与PMC,描述了项目管理最基本的一些要素,如:项目要做估算、定义项目的生命周期、识别风险、制定进度计划、管理关系人,根据计划对项目进行跟踪等等。这两个PA基本上覆盖了项目管理的

  • QPM QPM 是一个PHP 进程管理框架,可用于简化Daemon开发,项目地址在:https://github.com/Comos/qpm Quick process management framework for PHP QPM is a toolkit to simplify PHP multi-process programming. There're 4 mainly packages

  • 2级到5级,直接跟 项目管理 有关的PA有: 2级:PP( 项目计划 )、PMC( 项目 计划跟踪与控制) 3级:RSKM( 风险管理 )、IPM(集成项目管理) 4级:QPM(定量项目管理) 5级:CAR(原因分析及解决方案) 2级的PP与PMC,描述了项目管理最基本的一些要素,如:项目要做 估算 、定义项目的生命周期、识别风险、制定进度计划、管理关系人,根据计划对项目进行跟踪等等。这两个PA基

  • 考虑用PHP实现以下场景: 有一个抓站的URL列表保存在队列里,后台程序读取这个队列,然后转交给子进程去抓取HTML存放到文件里。 为了提高效率,允许多任务并行执行,但为了避免机器负载过高,限制了最大的并行任务数(为了测试方便,我们把这个数设为3),当队列中取到 END标记时,程序结束运行。 这个场景用QPM的Supervisor::taskFactoryMode()实现,非常简单。 QPM全名是

  • QPM 的注意事项以及和其他同类 PM 类软件的对比。 注意事项 QPM 的悬浮窗如果开启过多的功能,可能会影响性能,推荐:需要什么功能,就开启什么开关,这样把影响降低到最低。 QPM 与其他同类 PM 的区别 与其他同类 QPM 工具相比,有以下优势: 任何一个内置的 QPM 的 App, 可以直接可视化相关性能和数据; 内置多个参数指标开关,想用哪个就开哪个; 精简模式,只显示关注的数据指标;

  • QPM (Quality Performance Monitor) 是一个质量性能监控组件,可以很方便的查看当前 App 的性能和常用数据。目前主要运行在 Android 平台上,通过集成 QPM 组件,可以在 App 中通过悬浮窗可视化相关实时数据。意在帮助广大开发者和测试同学快速了解 App 中存在的性能问题,并展示了很多常用的数据,减少重重复杂的操作。 经过了好几个月的方案调研,不断的优化,

  • 关于QPM: QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/q

  • QPM 开源地址:https://github.com/ZhuoKeTeam/QPM 曾经我和你们一样,成天疲于业务开发,一天天除了加班,还是加班。可是呢,bug 还是不断,看着人家的 app 那么流畅,为啥我做的这么挫?What’s fuck! 慢慢的,掌握到一些性能优化的技巧后,熟练的搞起优化,app 就不再那么卡了,看着得意之作,心里满满的喜悦。 缘起——GT 当时看到腾讯 GT 的悬浮窗,

  • 一、 1.首先收集原始数据。 2.对收集的数据进行处理,会做出一张全生命周期的主模型,包括需求开发、需求评审、设计、设计评审、编码、代码验证、测试等。收集的数据包括(LL、AVG、UL、STDEV(标准差))。 3.对搜集得到的数据进行归一化处理。 二、 1.定义假设(绿色),将各个搜集到的数据填写进去,假设就定义好了。 2.定义决策(黄色),填写下限(从1开始)与上线(几种选择方法)。 3.定义

 相关资料
  • NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用。本章除了介绍与之相关的NodeJS内置模块外,还会重点介绍典型的使用场景。 开门红 我们已经知道了NodeJS自带的fs模块比较基础,把一个目录里的所有文件和子目录都拷贝到另一个目录里需要写不少代码。另外我们也知道,终端下的

  • 如果项目依赖各种外界的进程,应使用 foreman 来管理它们。

  • 细节 进程一般分为批处理进程、交互进程和守护进程三类。 守护进程总是活跃,在系统启动时通过脚本自动启动,或由 root 启动,通常在后台运行。 一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。 init 进程为根进程,所有进程都是它的子进程 ps 显示进程信息,选项可省略 “-” aux 以 BSD风格 显示进程 常用 -efH 以 Syste

  • PROCESS MANAGEMENT 在任何时间,Linux 系统通常同时运行数百个,甚至数千个进程。进程只是一个正在运行和使用资源的程序。它包括终端,Web 服务器,任何正在运行的命令,任何数据库,GUI 界面等等。任何优秀的 Linux 管理员(特别是黑客)都需要了解如何管理他们的流程以优化他们的系统。例如,一旦黑客控制了目标系统,他们可能想要找到并停止某个进程,如防病毒应用程序或防火墙。为此

  • ps 命令查看进程 ps 用来显示操作系统上的进程,包括进程 UID,PID,PPID,CPU 使用情况等。ps aux $ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 128176 6860 ? Ss 12:36

  • 主要内容:反引号运算符,system() 函数,实例,fork() 函数,实例,实例,Kill 函数,实例Perl 中你可以以不同的方法来创建进程。 本教程将讨论一些进程的管理方法。 你可以使用特殊变量 $$ 或 $PROCESS_ID 来获取进程 ID。 %ENV 哈希存放了父进程,也就是shell中的环境变量,在Perl中可以修改这些变量。 exit() 通常用于退出子进程,主进程在子进程全部退出后再退出。 所有打开的句柄会在子程序中被 dup() 函数复制, 所有关闭进程所有句柄不会影响其

  • 主要内容:什么是进程和程序,进程管理的作用无论是 Linux 系统管理员还是普通用户,监视系统进程的运行情况并适时终止一些失控的进程,是每天的例行事务。和 Linux 系统相比,进程管理在 Windows 中更加直观,它主要是使用"任务管理器"来进行进程管理的。 通常,使用"任务管理器"主要有 3 个目的: 利用"应用程序"和"进程"标签来査看系统中到底运行了哪些程序和进程; 利用"性能"和"用户"标签来判断服务器的健康状态; 在"应用程

  • Perl 中你可以以不同的方法来创建进程。 本教程将讨论一些进程的管理方法。 你可以使用特殊变量 $$ 或 $PROCESS_ID 来获取进程 ID。 %ENV 哈希存放了父进程,也就是shell中的环境变量,在Perl中可以修改这些变量。 exit() 通常用于退出子进程,主进程在子进程全部退出后再退出。 所有打开的句柄会在子程序中被 dup() 函数复制, 所有关闭进程所有句柄不会影响其他进程