QPM PHP进程管理框架

我要开发同款
匿名用户2015年02月27日
112阅读

技术信息

授权协议
GPL

作品详情

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

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

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

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

教程

安装和使用QPM

使用Process创建daemo程序

使用Supervisor创建健壮的多进程程序

使用Supervisor实现基于队列的并行任务处理程序

使用Pid 防止进程重复启动

使用日志,接入第三方日志

参考

Supervisor配置参考

功能介绍

QPM全名是 Quick Process Management Framework in PHP. PHP 是强大的 web 开发语言,以至于大家常常忘记 PHP 可以用来开发健壮的命令行(CL...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论