我們在使用框架處理一些事務的時候,一般會盡可能的把效率進行提升。本篇所要講的QPM是一種針對程序開發的框架,特別是想要寫daemon框架的小伙伴,QPM可以說是不錯的選擇。下面我們一起先對QPM框架進行說明、作用的講解,然后帶來一個QPM制作程序的實例。
1、說明
QPM是一種功能強大的web開發語言,但經常被遺忘。可以用于開發daemon程序,而用于開發健壯的命令行(CLI)程序。寫daemon程序不需要處理各種各樣的進程管理。QPM就是一個用來簡化流程管理的類庫。
2、作用
QPM實現了fork對象的寫法,大大簡化了fork代碼的可讀性,同時實現了一系列Supervisor的用法,有助于開發者制作健康的多程序。在未來的版本中,計劃逐步開發信號處理和過程快捷的模塊。
3、實例
//定義 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();
以上就是php中QPM框架的介紹,相信大家已經初步對這種開發程序的框架有所了解