成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

php swoole使用簡(jiǎn)單實(shí)例

Scorpion / 2607人閱讀

摘要:本文記錄一次對(duì)初步的學(xué)習(xí)和簡(jiǎn)單的使用。使用異步協(xié)程的特效,提升代碼效率。使用我的業(yè)務(wù)使用場(chǎng)景是對(duì)應(yīng)活動(dòng)發(fā)獎(jiǎng)品發(fā)積分,贈(zèng)劵,禮包,希望在對(duì)用戶(hù)的領(lǐng)取條件判斷通過(guò)后,立刻給用戶(hù)返回提示,然后用異步發(fā)這些獎(jiǎng)品。

本文記錄一次對(duì)swoole初步的學(xué)習(xí)和簡(jiǎn)單的使用。
歡迎討論和吐槽。

swoole簡(jiǎn)介

Swoole是一種PHP高級(jí)Web開(kāi)發(fā)框架,框架不是為了提升網(wǎng)站的性能,是為了提升網(wǎng)站的開(kāi)發(fā)效率。
使用異步協(xié)程的特效,提升代碼效率。

swoole使用

我的業(yè)務(wù)使用場(chǎng)景是對(duì)應(yīng)活動(dòng)發(fā)獎(jiǎng)品(發(fā)積分,贈(zèng)劵,禮包),希望在對(duì)用戶(hù)的領(lǐng)取條件判斷通過(guò)后,立刻給用戶(hù)返回提示,然后用swoole異步發(fā)這些獎(jiǎng)品。
搭建的結(jié)構(gòu)如下:tools,business,servers,client文件夾。
tools下是與業(yè)務(wù)無(wú)關(guān)的工具類(lèi);
business下是業(yè)務(wù)共用類(lèi);
servers下是swoole server,處理發(fā)獎(jiǎng)操作,可參考一下server:

set(array("task_worker_num" => 4));
$serv->on("receive", function($serv, $fd, $from_id, $data) {
    //投遞異步任務(wù)
    $task_id = $serv->task($data);
    echo "receive";
});
//處理異步任務(wù)
$serv->on("task", function ($serv, $task_id, $from_id, $data) {
    sendScore($data);
    //返回任務(wù)執(zhí)行的結(jié)果
    $serv->finish($data);
});
//處理異步任務(wù)的結(jié)果
$serv->on("finish", function ($serv, $task_id, $data) {
    echo "finish";
});
$serv->start();

function sendScore($data){
    //獲取到$data
    $arr = json_decode($data,true);
    //判斷數(shù)據(jù)是否異常
    //業(yè)務(wù)發(fā)獎(jiǎng)代碼
    return true;
}

client下,建立client class,連接server操作,業(yè)務(wù)使用的時(shí)候,不需要關(guān)注swoole的細(xì)節(jié),只需要使用client提供的接口即可,樣例如下:

connect("127.0.0.1", 9501, 1)){
            //
        }
        //向服務(wù)器發(fā)送數(shù)據(jù)
        if (!$client->send($msg)){
           //
        }
        //關(guān)閉連接
        $client->close();
    }
}

然后在業(yè)務(wù)機(jī)器上啟動(dòng)swoole server,就可以調(diào)用client中的方法去執(zhí)行對(duì)應(yīng)的功能。

思考和優(yōu)化

建議除此server執(zhí)行外,還有個(gè)定時(shí)任務(wù)server去處理執(zhí)行失敗的任務(wù)。

可以參考騰訊的tsf框架,用異步和協(xié)程的特性處理部分業(yè)務(wù)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/23327.html

相關(guān)文章

  • Swoole-Task:簡(jiǎn)單高效的異步任務(wù)處理框架

    摘要:地址歡迎提用法示例路由說(shuō)明對(duì)應(yīng)目錄下的文件中的名稱(chēng)也必須是繼承對(duì)應(yīng)文件中的的最后必須返回即最后一句等同于啟動(dòng)后發(fā)起請(qǐng)求假定監(jiān)控的和端口是或者投遞任務(wù)到進(jìn)行處理目錄結(jié)構(gòu)說(shuō)明具體處理業(yè)務(wù)邏輯的地方配置文件目錄,根據(jù)環(huán)境來(lái)加載配 Swoole-Task github 地址:https://github.com/luxixing/swoole-task歡迎 star 提 issues Swoo...

    lei___ 評(píng)論0 收藏0
  • IMI 基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架 常駐內(nèi)存、協(xié)程異步非阻塞

    摘要:介紹是基于開(kāi)發(fā)的協(xié)程開(kāi)發(fā)框架,擁有常駐內(nèi)存協(xié)程異步非阻塞等優(yōu)點(diǎn)。宇潤(rùn)我在年開(kāi)發(fā)并發(fā)布了第一個(gè)框架,一直維護(hù)使用至今,非常穩(wěn)定,并且有文檔。于是我走上了開(kāi)發(fā)的不歸路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介紹 IMI 是基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架,擁有常駐內(nèi)存、協(xié)程異步非阻塞IO等優(yōu)點(diǎn)。...

    airborne007 評(píng)論0 收藏0
  • swoole——從入門(mén)到放棄(三)

    摘要:從入門(mén)到放棄三一進(jìn)程子進(jìn)程創(chuàng)建成功后要執(zhí)行的函數(shù)重定向子進(jìn)程的標(biāo)準(zhǔn)輸入和輸出。默認(rèn)為阻塞讀取。是否創(chuàng)建管道,啟用后,此選項(xiàng)將忽略用戶(hù)參數(shù),強(qiáng)制為。 swoole——從入門(mén)到放棄(三) 一、進(jìn)程 swoole_process SwooleProcess swoole_process::__construct(callable $function, $redirect_stdin...

    王笑朝 評(píng)論0 收藏0
  • swoole——從入門(mén)到放棄(三)

    摘要:從入門(mén)到放棄三一進(jìn)程子進(jìn)程創(chuàng)建成功后要執(zhí)行的函數(shù)重定向子進(jìn)程的標(biāo)準(zhǔn)輸入和輸出。默認(rèn)為阻塞讀取。是否創(chuàng)建管道,啟用后,此選項(xiàng)將忽略用戶(hù)參數(shù),強(qiáng)制為。 swoole——從入門(mén)到放棄(三) 一、進(jìn)程 swoole_process SwooleProcess swoole_process::__construct(callable $function, $redirect_stdin...

    rottengeek 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<