swoole中可不可以設(shè)置多個(gè)定時(shí)器

這篇文章主要介紹了swoole中可不可以設(shè)置多個(gè)定時(shí)器,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來(lái)客戶和效益!創(chuàng)新互聯(lián)建站為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)負(fù)責(zé)任的成都網(wǎng)站制作公司!

首先,在各種業(yè)務(wù)型系統(tǒng)中,往往需要服務(wù)器在后臺(tái)掃描相關(guān)數(shù)據(jù),觸發(fā)相應(yīng)的統(tǒng)計(jì)、通知等操作。

比如對(duì)于一個(gè)項(xiàng)目管理系統(tǒng),需要每天的特定時(shí)間內(nèi),統(tǒng)計(jì)每項(xiàng)任務(wù)的執(zhí)行、到期情況、整個(gè)項(xiàng)目的進(jìn)度等等,根據(jù)統(tǒng)計(jì)情況,做相應(yīng)通知處理;

這樣一個(gè)場(chǎng)景,如何編程實(shí)現(xiàn)?

用一般的編程方式,是無(wú)法實(shí)現(xiàn)自動(dòng)觸發(fā)與統(tǒng)計(jì)的。當(dāng)然,簡(jiǎn)單的思路,是利于系統(tǒng)的cron job機(jī)制。但這種方式,對(duì)于配置及可靠性方面,需要比較多的人為操作因素。

Swoole是一個(gè)使用c開(kāi)發(fā)的php擴(kuò)展,通過(guò)php就可以實(shí)現(xiàn)高性能web服務(wù)器,同時(shí),還內(nèi)置了定時(shí)器Timer、任務(wù)隊(duì)列Task特性。這樣,基于swoole,你可以在程序?qū)用婵刂茖?shí)現(xiàn)方式,減少對(duì)外部工具 - 獨(dú)立的消息隊(duì)列服務(wù)器、定時(shí)任務(wù)管理工具等的依賴性。

swoole的強(qiáng)大之處就在與其進(jìn)程模型的設(shè)計(jì),既解決了異步問(wèn)題,又解決了并行。

用法如下:

swoole_server_addtimer($serv, 10);

第二個(gè)參數(shù)是定時(shí)器的間隔時(shí)間,單位為秒。swoole定時(shí)器的最小顆粒是1秒。支持多個(gè)定時(shí)器。注意不能存在2個(gè)相同間隔時(shí)間的定時(shí)器。 增加定時(shí)器后需要寫(xiě)一個(gè)回調(diào)函數(shù)。

具體代碼如下:

swoole_server_handler($serv, 'onTimer', my_OnTimer);
function my_OnTimer($serv, $interval)
{
  echo "Timer[$interval] is call\n";
}

Task模塊,用來(lái)做一些異步的慢速任務(wù),比如webim中發(fā)廣播。類似node.js,假如有10萬(wàn)個(gè)連接,要發(fā)廣播時(shí),那會(huì)循環(huán)10萬(wàn)次,這時(shí)候程序不能做任何事情,不能接受新的連接,也不能收包發(fā)包。

而swoole不同,丟給task進(jìn)程之后,你的reactor,worker照跑不誤。任務(wù)完成后會(huì)異步地通知worker進(jìn)程告訴它此任務(wù)已經(jīng)完成。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“swoole中可不可以設(shè)置多個(gè)定時(shí)器”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

文章標(biāo)題:swoole中可不可以設(shè)置多個(gè)定時(shí)器
網(wǎng)址分享:http://muchs.cn/article28/gpjdjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航虛擬主機(jī)、電子商務(wù)、小程序開(kāi)發(fā)、網(wǎng)站營(yíng)銷(xiāo)、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)