摘要:地址歡迎提用法示例路由說明對應(yīng)目錄下的文件中的名稱也必須是繼承對應(yīng)文件中的的最后必須返回即最后一句等同于啟動后發(fā)起請求假定監(jiān)控的和端口是或者投遞任務(wù)到進(jìn)行處理目錄結(jié)構(gòu)說明具體處理業(yè)務(wù)邏輯的地方配置文件目錄,根據(jù)環(huán)境來加載配
Swoole-Task
github 地址:https://github.com/luxixing/swoole-task
歡迎 star 提 issues
路由說明
127.0.0.1:9510/ctrl/action?paramas=xxx
ctrl對應(yīng)app/ctrl目錄下的xxxCtrl.php文件(xxxCtrl.php中的class名稱也必須是xxxCtrl,繼承baseCtrl)
action對應(yīng)xxxCtrl.php文件中的xxxAction(action 的最后必須返回$this->ret,即最后一句 return $this->ret)
127.0.0.1:9510?op=ctrl.action¶ms=xxx 等同于 127.0.0.1:9510/ctrl/action?paramas=xxx
啟動swoole-task后發(fā)起請求(假定監(jiān)控的ip和端口是127.0.0.1:9510)
curl "127.0.0.1:9510/ctrl/action?paramas=xxx" 或者 curl "127.0.0.1:9510?op=ctrl.action¶ms=xxx"
投遞任務(wù)到swoole-task進(jìn)行處理
swoole-task目錄結(jié)構(gòu)說明
app swoole-task具體處理業(yè)務(wù)邏輯的地方
appconfig 配置文件目錄,根據(jù)環(huán)境dev,test,prod來加載配置,環(huán)境的配置在config/swoole.ini的配置項 env
appctrl controller文件所在目錄,處理具體業(yè)務(wù)邏輯,繼承baseCtrl這個類
appdao 數(shù)據(jù)訪問層,操作數(shù)據(jù)庫的方法
apphelper 公共方法類
appvendor 如果依賴composer 第三方庫,在在app目錄下創(chuàng)建composer.json
base 核心框架類,Ctrl Dao Helper App 四個類,命名空間base
config swoole-task 配置文件目錄swoole.ini,配置參數(shù)類容參考源碼說明
tmp 臨時目錄,日志swoole-task中間文件等等在此目錄下存放
Swoole-Task服務(wù)管理腳本功能說明swoole-task 本身是一個比較簡單的基于swoole擴(kuò)展的異步任務(wù)處理框架,更詳細(xì)使用方法看源碼,或者在github留issues,有好的建議我會根據(jù)情況及時改進(jìn)
1 如果swoole.php 腳本所在目錄config/swoole.ini 文件不存在,可以直接刪除config目錄,會自動創(chuàng)建配置文件,創(chuàng)建后的文件根據(jù)需求修改
2 注意swoole.ini 的參數(shù)dev,這個取值為dev,test,prod 根據(jù)此值讀取swoole/app的配置文件
服務(wù)啟動
#啟動服務(wù),不指定綁定端口和ip,則使用config目錄下的swoole.ini配置 php swoole.php start #啟動服務(wù) 指定ip 和 port php swoole.php -h127.0.0.1 -p9510 start #啟動服務(wù) 守護(hù)進(jìn)程模式 php swoole.php -h127.0.0.1 -p9510 -d start #啟動服務(wù) 非守護(hù)進(jìn)程模式 php swoole.php -h127.0.0.1 -p9510 -D start #啟動服務(wù) 指定進(jìn)程名稱(顯示進(jìn)程名為 swooleServ-9510-[master|manager|event|task] php swoole.php -h 127.0.0.1 -p 9510 -n 9510 start
服務(wù)停止(停止服務(wù)最少要指定端口)
php swoole.php -p 9510 stop php swoole.php -h 127.0.0.1 - p 9510 stop
服務(wù)重啟(至少指定端口)
php swoole.php -p 9510 restart php swoole.php -h 127.0.0.1 - p 9510 restart
服務(wù)狀態(tài)(必須指定ip 和 端口)
php swoole.php -h 127.0.0.1 - p 9510 status
swoole-task所有啟動實例進(jìn)程列表(一臺服務(wù)器swoole-task可以有多個端口綁定的實例)
php swoole.php list
--help
顯示幫助
-d, --daemon
指定此參數(shù),服務(wù)以守護(hù)進(jìn)程模式運行,不指定讀取配置文件值
-D, --nondaemon
指定此參數(shù),以非守護(hù)進(jìn)程模式運行,不指定則讀取配置文件值
-h, --host
指定監(jiān)聽ip,例如 php swoole.php -h 127.0.0.1
-p, --port
指定監(jiān)聽端口port, 例如 php swoole.php -h 127.0.0.1 -p 9520
-n, --name
指定服務(wù)進(jìn)程名稱,例如 php swoole.php -n test start, 則進(jìn)程名稱為SWOOLE_TASK_NAME_PRE-name
start 啟動服務(wù)
可指定服務(wù)綁定ip 端口 及 是否守護(hù)進(jìn)程模式,還有啟動后進(jìn)程名稱(進(jìn)程名稱前綴默認(rèn)為swooleServ-, 指定后 swooleServ-name-[master|manager|event|task])
stop 停止服務(wù)
必須指定端口參數(shù) -p(--port)
restart 重啟服務(wù)
必須指定端口參數(shù) -p(--port) 后續(xù)是否需要根據(jù)進(jìn)程名稱重啟根據(jù)實際情況來看(--TODO)
status
查看指定ip和端口的服務(wù)狀態(tài),tasking_num是指當(dāng)前正在運行的任務(wù)
list
查看當(dāng)前服務(wù)器上運行的swoole-task實例,
返回結(jié)果顯示服務(wù)進(jìn)程的 USER PID RSS(kb)[使用內(nèi)存] STAT[進(jìn)程狀態(tài)] START[進(jìn)程運行開始時間] COMMAND[進(jìn)程命令或者進(jìn)程名稱]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21398.html
摘要:異步隊列消費者開發(fā)只提供了模式下運行控制器方法,并未提供主進(jìn)程多子進(jìn)程的進(jìn)程模型,并未提供多線程處理。多線程異步隊列服務(wù)只需寫好控制器方法,然后在配置文件中配置下路由命名空間進(jìn)程線程數(shù)量,就可在模式中啟動多進(jìn)程多線程模型的異步隊列處理程序。 最近業(yè)余時間一直在開發(fā)ExpressPHP的第二個版本 MixPHP,今天下班想起之前一個面試官的問題:你為什么還要再造一個輪子呢?仔細(xì)回想,第一...
摘要:基礎(chǔ)的端到端的基準(zhǔn)測試顯示大約比快八倍。所謂單線程,就是指一次只能完成一件任務(wù)。在服務(wù)器端,異步模式甚至是唯一的模式,因為執(zhí)行環(huán)境是單線程的,如果允許同步執(zhí)行所有請求,服務(wù)器性能會急劇下降,很快就會失去響應(yīng)。 模塊 Node.js 提供了exports 和 require 兩個對象,其中 exports 是模塊公開的接口,require 用于從外部獲取一個模塊的接口,即所獲取模塊的 e...
閱讀 3713·2021-11-11 16:55
閱讀 1655·2021-10-08 10:04
閱讀 3591·2021-09-27 13:36
閱讀 2784·2019-08-30 15:53
閱讀 1870·2019-08-30 11:17
閱讀 1272·2019-08-29 16:55
閱讀 2111·2019-08-29 13:57
閱讀 2526·2019-08-29 13:13