SWOOLE 多進(jìn)程消息系統(tǒng) Beanstlakd

Jober 工作界面:

Jober.gif

產(chǎn)生背景:

項(xiàng)目中經(jīng)常會(huì)有后臺(tái)運(yùn)行任務(wù)的需求瘤礁,比如發(fā)送郵件時(shí)原献,因?yàn)橐B接郵件服務(wù)器输涕,往往需要5-10秒甚至更長(zhǎng)時(shí)間廉邑,如果能先給用戶一個(gè)成功的提示信息哥蔚,然后在后臺(tái)慢慢處理發(fā)送郵件的操作,顯然會(huì)有更好的用戶體驗(yàn)蛛蒙。

當(dāng)然實(shí)際情況遠(yuǎn)不止這一點(diǎn)糙箍,我們可以通過(guò)Jober的配合完成 “訂單超時(shí)關(guān)閉、自動(dòng)評(píng)論宇驾、QQ郵箱定時(shí)發(fā)送功能等等”。

Jober 是什么

通過(guò)Swoole 官方提供Swoole/Process API才得以完成猴伶,Jober 相當(dāng)于每個(gè)子進(jìn)程课舍。如果你開(kāi)啟8個(gè)Jober,那么就是8個(gè)進(jìn)程同時(shí)消費(fèi)他挎。

核心特點(diǎn)

  • 命令行:快速實(shí)現(xiàn)消息中間件消費(fèi)筝尾、支持守護(hù)進(jìn)程、常駐內(nèi)存办桨;

  • 自動(dòng)加載:基于 PSR-4 筹淫,完全使用 Composer 構(gòu)建;

  • 模塊化:支持 Composer 呢撞,可以很方便的使用第三方庫(kù)损姜;

  • 客戶端:支持Beanstalk, 理論上來(lái)說(shuō)還支持RabbitMQ并且可以多進(jìn)程爬蟲(chóng)等等;

  • Jober 特性:

    • 可通過(guò)Queue.php配置,指定隊(duì)列分配不同Jober數(shù)量殊霞;

    • 可通過(guò)配置Crontab, 對(duì)每個(gè)隊(duì)列掃描頻率控制;

    • 分配的每個(gè)Jober,完成5000個(gè)任務(wù)后自動(dòng)退出重啟摧阅;[ 防止內(nèi)存泄漏 ]

    • 用戶停止Jober運(yùn)行,管理者進(jìn)程會(huì)接收到信號(hào);通知Jober執(zhí)行完手頭任務(wù)在退出;

實(shí)際案例,我們想要做這樣一個(gè)功能:

  • QQ郵箱定時(shí)發(fā)送郵件的功能

完成步驟如下所示:

  • jober 安裝

  • jober 郵件類的封裝

  • jober 發(fā)送郵件的邏輯寫(xiě)在哪呢绷蹲?

  • jober 隊(duì)列配置文件


接下來(lái)具體實(shí)現(xiàn)過(guò)程:

  1. 安裝Jober “composer create-project jober/jober”:


    在這里插入圖片描述
  2. 安裝 “composer require swiftmailer/swiftmailer”棒卷,自行封裝如圖:


    image
  3. 郵件發(fā)送邏輯封裝包含日志記錄如圖:


    image

    image
  4. 模擬投遞兩封定時(shí)郵件:


    image
  5. php jober start 啟動(dòng)服務(wù):


    image
  6. 定時(shí)郵件發(fā)送成功提示:


    image
  7. 可以發(fā)現(xiàn)已經(jīng)成功:

    image

到此就結(jié)束了:

1, 想要看完整代碼案例顾孽,請(qǐng)點(diǎn)開(kāi) https://github.com/twomiao/Jober Git 地址。

2,小伙伴們比规,記得給我Star喲若厚。Thanks?(?ω?)?

3,你們的支持就是我的動(dòng)力。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蜒什,一起剝皮案震驚了整個(gè)濱河市测秸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吃谣,老刑警劉巖乞封,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異岗憋,居然都是意外死亡肃晚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)仔戈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)关串,“玉大人,你說(shuō)我怎么就攤上這事监徘〗蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵凰盔,是天一觀的道長(zhǎng)墓卦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)户敬,這世上最難降的妖魔是什么落剪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮尿庐,結(jié)果婚禮上忠怖,老公的妹妹穿的比我還像新娘。我一直安慰自己抄瑟,他們只是感情好凡泣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著皮假,像睡著了一般鞋拟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惹资,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天严卖,我揣著相機(jī)與錄音,去河邊找鬼布轿。 笑死哮笆,一個(gè)胖子當(dāng)著我的面吹牛来颤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稠肘,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼福铅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了项阴?” 一聲冷哼從身側(cè)響起滑黔,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎环揽,沒(méi)想到半個(gè)月后略荡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歉胶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年汛兜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片通今。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粥谬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辫塌,到底是詐尸還是另有隱情漏策,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布臼氨,位于F島的核電站掺喻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏储矩。R本人自食惡果不足惜感耙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椰苟。 院中可真熱鬧抑月,春花似錦树叽、人聲如沸舆蝴。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)洁仗。三九已至,卻和暖如春性锭,著一層夾襖步出監(jiān)牢的瞬間赠潦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工草冈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留她奥,地道東北人瓮增。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像哩俭,于是被迫代替她去往敵國(guó)和親绷跑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 參考資料 官方網(wǎng)站 https://www.swoole.com/page/download PHP沒(méi)有像Pyth...
    JunChow520閱讀 2,943評(píng)論 0 6
  • 1凡资、第八章 Samba服務(wù)器2砸捏、第八章 NFS服務(wù)器3、第十章 Linux下DNS服務(wù)器配站點(diǎn)隙赁,域名解析概念命令:...
    哈熝少主閱讀 3,718評(píng)論 0 10
  • 進(jìn)程 什么是進(jìn)程 進(jìn)程Process是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)垦藏,是系統(tǒng)分配資源和調(diào)度的基本單位...
    JunChow520閱讀 2,030評(píng)論 2 9
  • 背景## 正在做一個(gè)智能家居的項(xiàng)目,接收下位機(jī)(就是控制智能家居硬件模塊的HUB)協(xié)議解析伞访,Web端維護(hù)硬件狀態(tài)掂骏,...
    萬(wàn)年場(chǎng)保安閱讀 44,048評(píng)論 16 102
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,827評(píng)論 0 5