亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

在php-fpm或apache中使用swoole提供的task功能

Developer / 989人閱讀

摘要:是提供一套生產(chǎn)者消費(fèi)者模型,可以方便地將一個(gè)慢速任務(wù)投遞到隊(duì)列,由進(jìn)程池異步地執(zhí)行。功能目前只能在中使用。版本提供了框架,可以基于和實(shí)現(xiàn)一個(gè)程序,在或中直接調(diào)用擴(kuò)展就可以使用的功能了。

AsyncTask是swoole提供一套生產(chǎn)者消費(fèi)者模型,可以方便地將一個(gè)慢速任務(wù)投遞到隊(duì)列,由進(jìn)程池異步地執(zhí)行。task功能目前只能在swoole_server中使用。1.9.0版本提供了RedisServer框架,可以基于RedisServer和Task實(shí)現(xiàn)一個(gè)Server程序,在php-fpm或apache中直接調(diào)用Redis擴(kuò)展就可以使用swoole的task功能了。

創(chuàng)建RedisServer
set(array(
    "task_worker_num" => 32,
    "worker_num" => 1,
));

$server->setHandler("LPUSH", function ($fd, $data) use ($server) {
    $taskId = $server->task($data);
    if ($taskId === false)
    {
        return Server::format(Server::ERROR);
    }
    else
    {
        return Server::format(Server::INT, $taskId);
    }
});

$server->on("Finish", function() {

});

$server->on("Task", function ($serv, $taskId, $workerId, $data) {
    //處理任務(wù)
});

$server->start();

如果是本機(jī)調(diào)用可以監(jiān)聽UnixSocket,局域網(wǎng)內(nèi)調(diào)用需要使用IP:PORT

Task中$data就是客戶端投遞的數(shù)據(jù)

其他語言也可以使用Redis客戶端投遞任務(wù)

可以根據(jù)Task任務(wù)執(zhí)行的速度調(diào)節(jié)task_worker_num控制啟動(dòng)的進(jìn)程數(shù)量,這些進(jìn)程是由swoole底層負(fù)責(zé)管理的,在發(fā)生致命錯(cuò)誤或進(jìn)程退出后底層會(huì)重新創(chuàng)建新的任務(wù)進(jìn)程

投遞任務(wù)
$redis = new Redis;
$redis->connect("127.0.0.1", 9501);
$taskId = $redis->lpush("myqueue", json_encode(array("hello", "swoole")));

注意這個(gè)RedisServer并不是一臺(tái)真正的Redis服務(wù)器,它只支持LPUSH一個(gè)指令。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/22242.html

相關(guān)文章

  • Swoft 源碼剖析 - Swoole和Swoft那些事 (Http/Rpc服務(wù)篇)

    摘要:和服務(wù)關(guān)系最密切的進(jìn)程是中的進(jìn)程組,絕大部分業(yè)務(wù)處理都在該進(jìn)程中進(jìn)行。隨后觸發(fā)一個(gè)事件各組件通過該事件進(jìn)行配置文件加載路由注冊(cè)。事件每個(gè)請(qǐng)求到來時(shí)僅僅會(huì)觸發(fā)事件。服務(wù)器生命周期和服務(wù)基本一致,詳情參考源碼剖析功能實(shí)現(xiàn) 作者:bromine鏈接:https://www.jianshu.com/p/4c0...來源:簡(jiǎn)書著作權(quán)歸作者所有,本文已獲得作者授權(quán)轉(zhuǎn)載,并對(duì)原文進(jìn)行了重新的排版。S...

    張漢慶 評(píng)論0 收藏0
  • 了解swoole運(yùn)行模式,加速laravel應(yīng)用

    摘要:負(fù)責(zé)解釋執(zhí)行文件生成響應(yīng),最終返回給,展現(xiàn)至前端。相比于傳統(tǒng)架構(gòu),進(jìn)程模型最大的特點(diǎn)在于其多線程模式處理網(wǎng)絡(luò)請(qǐng)求,使得其能輕松應(yīng)對(duì)大量連接。這要求開發(fā)人員對(duì)于多進(jìn)程的運(yùn)行模式有更清晰的認(rèn)識(shí)更容易內(nèi)存泄露。 一、SwooleSwoole號(hào)稱重新定義了PHP,它是一個(gè)PHP擴(kuò)展,使得PHP可以使用異步的方式執(zhí)行,就像node一樣,而且還能使用socket,為PHP提供了一系列異步IO、事件...

    時(shí)飛 評(píng)論0 收藏0
  • 為什么Swoole可以加速php

    摘要:前言最近在研究,原來一直聽別人在說可以加速,一直都是懵逼的。,全稱,中文譯作快速公共網(wǎng)管接口。那么,我們?yōu)槭裁床荒芟裰耙粯?,能夠不重新加載配置文件的,來一個(gè)不用加載這么多的依賴的方式呢當(dāng)然可以啦,這時(shí)候就派上用場(chǎng)了。 前言 最近在研究Swoole,原來一直聽別人在說Swoole可以加速,一直都是懵逼的。在研究了Swoole之后,我有了一些自己的理解。 PHP-CGI 的黑歷史 對(duì)于 ...

    y1chuan 評(píng)論0 收藏0
  • 為什么Swoole可以加速php

    摘要:前言最近在研究,原來一直聽別人在說可以加速,一直都是懵逼的。,全稱,中文譯作快速公共網(wǎng)管接口。那么,我們?yōu)槭裁床荒芟裰耙粯?,能夠不重新加載配置文件的,來一個(gè)不用加載這么多的依賴的方式呢當(dāng)然可以啦,這時(shí)候就派上用場(chǎng)了。 前言 最近在研究Swoole,原來一直聽別人在說Swoole可以加速,一直都是懵逼的。在研究了Swoole之后,我有了一些自己的理解。 PHP-CGI 的黑歷史 對(duì)于 ...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<