QPM- PHP进程管理框架(qp免考cpa)

网友投稿 1466 2022-10-10

QPM- PHP进程管理框架(qp免考cpa)

QPM- PHP进程管理框架(qp免考cpa)

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使用 Process 创建 daemon 程序使用 Supervisor 创建健壮的多进程程序使用 Supervisor 实现基于队列的并行任务处理程序使用 Pid 防止进程重复启动使用日志,接入第三方日志

参考

Supervisor 配置参考

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DataFrame(10):DataFrame运算——累计统计函数
下一篇:python中常用的知识点
相关文章

 发表评论

暂时没有评论,来抢沙发吧~