1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP进程管理框架:QPM

作者:用户 来源:互联网 时间:2017-12-01 11:36:38

php框架管理进程QPM

PHP进程管理框架:QPM - 摘要: 本文讲的是PHP进程管理框架:QPM, QPM全名是 Quick Process Managent Module for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免

QPM全名是 Quick Process Managent Module for 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 = [
['runnableCallback'=>$mission1],
['runnableCallback'=>$mission2, 'quantity'=>2]
];
// 使用multiGroupOneForOne 类型的supervisor 启动任务,意味着同组配置,当一个子进程退出后,会立即重启新的子进程继续执行任务。
qpmsupervisorSupervisor::multiGroupOneForOne($config)->start();
0.1是QPM 对外发布的第一个stable 版本,在这个版本里,实现了fork的面向对象的写法,极大的简化了fork代码的可读性;同时实现了一系列Supervisor的用法,可以帮助开发者编写健壮的多进程程序。 在未来的版本里,计划逐步开发出信号处理和跨进程通迅的模块。

项目主页:http://www.open-open.com/lib/view/home/1425220879720

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 框架 , 管理 , 进程 QPM ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备