国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php swoole使用簡單實例

Scorpion / 2558人閱讀

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

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

swoole簡介

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

swoole使用

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

client下,建立client class,連接server操作,業(yè)務(wù)使用的時候,不需要關(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ī)器上啟動swoole server,就可以調(diào)用client中的方法去執(zhí)行對應(yīng)的功能。

思考和優(yōu)化

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

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

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/23327.html

相關(guān)文章

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

    摘要:地址歡迎提用法示例路由說明對應(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 Swoo...

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

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

    airborne007 評論0 收藏0
  • swoole——從入門到放棄(三)

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

    王笑朝 評論0 收藏0
  • swoole——從入門到放棄(三)

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

    rottengeek 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<