php中QPM框架是什么?

程序猿 2021-03-11 20:47:41 1897瀏覽 加載中

我們在使用框架處理一些事務(wù)的時(shí)候,一般會(huì)盡可能的把效率進(jìn)行提升。本篇所要講的QPM是一種針對程序開發(fā)的框架,特別是想要寫daemon框架的小伙伴,QPM可以說是不錯(cuò)的選擇。下面我們一起先對QPM框架進(jìn)行說明、作用的講解,然后帶來一個(gè)QPM制作程序的實(shí)例。

1、說明

QPM是一種功能強(qiáng)大的web開發(fā)語言,但經(jīng)常被遺忘??梢杂糜陂_發(fā)daemon程序,而用于開發(fā)健壯的命令行(CLI)程序。寫daemon程序不需要處理各種各樣的進(jìn)程管理。QPM就是一個(gè)用來簡化流程管理的類庫。

2、作用

QPM實(shí)現(xiàn)了fork對象的寫法,大大簡化了fork代碼的可讀性,同時(shí)實(shí)現(xiàn)了一系列Supervisor的用法,有助于開發(fā)者制作健康的多程序。在未來的版本中,計(jì)劃逐步開發(fā)信號處理和過程快捷的模塊。

3、實(shí)例

//定義 mission1:每隔3秒打印一次進(jìn)程信息, 無限循環(huán)。
$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 同時(shí)在子進(jìn)程中執(zhí)行。mission 1 只允許在一個(gè)子進(jìn)程中執(zhí)行,mission 2 則允許2個(gè)子進(jìn)程并行執(zhí)行。
$config = [
    ['runnableCallback'=>$mission1],
    ['runnableCallback'=>$mission2, 'quantity'=>2]
];
// 使用multiGroupOneForOne 類型的supervisor 啟動(dòng)任務(wù),意味著同組配置,當(dāng)一個(gè)子進(jìn)程退出后,會(huì)立即重啟新的子進(jìn)程繼續(xù)執(zhí)行任務(wù)。
qpm\supervisor\Supervisor::multiGroupOneForOne($config)->start();

以上就是php中QPM框架的介紹,相信大家已經(jīng)初步對這種開發(fā)程序的框架有所了解

標(biāo)簽: php
最后修改:2025-04-05 02:54:32

非特殊說明,本博所有文章均為博主原創(chuàng)。

国产免费久久受久久,人妻AV成熟片久久久久久,亚洲综合无码日韩,国产AV无码乱码精品国产 www.sucaiwu.net