使用QPM编写PHP 多进程程序

使用QPM编写PHP 多进程程序QPM 全名是 QuickProcess PHP 是强大的 web 开发语言 以至于大家常常忘记 PHP 可以用来开发健壮的命令行 CLI 程序以至于 daemon 程序 而编写 daemon 程序免不了与各种进程管理打交道 QPM 正式为简化进程管理而开发的类库 以下是用 QPM 编写多进程程序的小例子 定义 mission1 每隔 3 秒打印一次进

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

QPM 项目地址在:https://github.com/Comos/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 启动任务,意味着同组配置,当一个子进程退出后,会立即重启新的子进程继续执行任务。 qpm\supervisor\Supervisor::multiGroupOneForOne($config)->start(); 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232761.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java基础—java获取图片的大小和尺寸(本地& 服务器)

    java基础—java获取图片的大小和尺寸(本地& 服务器)java获取图片的大小和尺寸,有两种获取的源,一种是读取本地的图片获取大小和尺寸,一种是通过服务器上图片的地址获取图片的尺寸!下面整理出这两种方式的简易代码,希望帮助的大家和自己!

    2022年2月25日
    48
  • DOS 和 Linux 常用命令的对比

    DOS和Linux常用命令的对比许多在shell提示下键入的Linux命令都与你在DOS下键入的命令相似。事实上,某些命令完全相同。本附录提供了Windows的DOS提示

    2021年12月26日
    41
  • buck降压电路解析

    buck降压电路解析1.拓扑模型如下2.需要的元器件如下:元器件:开关管T、续流二极管D、储能电感L、滤波电容C、负载电阻R输入电压:Ui输出电压:Uo特性:Ui>Uo3.三种工作模式BCM、CCM、DCM3.1CCM–电感电流连续导通模式3.2当Imin减小到零时,电路由CCM模式进入BCM—电感电流临界导通模式3.3DCM—电感电流非连续/断续导通模式4.举例子LM2576/2596下图中的R1/R2阻值一般是k级别电阻,100k左右,目的是减少功耗5.常见的厂商TI、MP

    2022年6月20日
    66
  • 快捷方式图标显示不正常_win10快捷方式不显示图标

    快捷方式图标显示不正常_win10快捷方式不显示图标win10系统的电脑近期遇到一个问题,那就是桌面上或者某磁盘中文件夹的程序快捷方式图标丢失显示异常,部分程序为一个白纸图标,不显示原本的程序图标,但是这些软件或者游戏的快捷方式能正常打开。那么游戏、软件等应用程序快捷方式不显示图标怎么办?下面装机之家分享一下Win10快捷方式图标变白纸解决方法。原因分析:在Win10系统中,首次对图标进行显示,为了加速图标的显示,之后系统会对图标进行缓存,如果缓存…

    2022年10月18日
    3
  • touchstart,touchmove,touchend触摸事件的小小实践心得

    近段时间使用html5开发一个公司内部应用,而触摸事件必然是移动应用中所必须的,刚开始以为移动设备上或许也会支持鼠标事件,原来是不支持的,好在webkit内核的移动浏览器支持touch事件,并且打包成

    2021年12月27日
    41
  • 直读光谱仪分析谱线_频谱分析仪主要有哪几种

    直读光谱仪分析谱线_频谱分析仪主要有哪几种为什么使用频谱仪?01认识频谱电磁频谱,是指按电磁波波长(或频率)连续排列的电磁波族,是一种看不见摸不着但时刻伴随我们的东西。当我们使用电磁波将一串信息发送出去时,在时域上他是一段强度不同,疏密变化的时间信号,在其中的任意时刻,你所能获取的只有他的强度;当我们换个角度,站在频域上来看时,在信号的每一个时刻,你都能看到他从时域的一个点延展成了频域的一个面,你所能获取到的信息量将成倍增加,这有助于我们从中解析出更丰富的内容。因此,电磁频谱的观测,或者说使用频谱仪,我们实际上是换一…

    2022年8月11日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号