swoole_process,但沒(méi)有明白freeQueue的用法

<慧脱?php

swoole = new swoole_server("0.0.0.0",9503);

? ? ? ? $this->swoole->set($this->config());

? ? ? ? $this->swooleInit();

? ? ? ? $this->swoole->start();

? ? }

? ? /**

? ? * swoole配置

? ? */

? ? public function config()

? ? {

? ? ? ? $config = [

? ? ? ? ? ? ? ? ? ? 'reactor_num'=>1, //默認(rèn)設(shè)置為CPU核數(shù),調(diào)節(jié)poll線程的數(shù)量饱亮,以充分利用多核,reactor_num必須小于或等于worker_num

? ? ? ? ? ? ? ? ? ? 'daemonize'=>true,//轉(zhuǎn)入后臺(tái)作為守護(hù)進(jìn)程運(yùn)行

? ? ? ? ? ? ? ? ? ? 'worker_num'=>2, //設(shè)置啟動(dòng)的worker進(jìn)程數(shù)量,類似于php-fpm的個(gè)數(shù),每個(gè)進(jìn)程占用40M內(nèi)存

? ? ? ? ? ? ? ? ? ? 'max_request'=>1000, //單個(gè)線程最大請(qǐng)求數(shù)

? ? ? ? ? ? ? ? ? ? 'max_conn'=>1000, //最多維持1000個(gè)tcp鏈接

? ? ? ? ? ? ? ? ? ? 'dispatch_mode'=>3, //worker進(jìn)程數(shù)據(jù)包分配模式1平均分配,2按FD取模固定分配赞咙,3搶占式分配普监,默認(rèn)為取模(dispatch=2)

? ? ? ? ? ? ? ? ? ? // 'task_worker_num'=>1, //務(wù)必要注冊(cè)onTask贵试、onFinish2個(gè)事件回調(diào)函數(shù),也是數(shù)據(jù)庫(kù)連接池的保證

? ? ? ? ? ? ? ? ? ? 'open_eof_check'=>true,

? ? ? ? ? ? ? ? ? ? 'package_eof'=>PHP_EOL,

? ? ? ? ? ? ? ? ? ? 'open_eof_split'=>true

? ? ? ? ? ? ? ? ? ? // 'log_file'=>'/log',

? ? ? ? ? ? ? ? ];

? ? ? ? return $config;

? ? }

? ? public function swooleInit()

? ? {

? ? ? ? $this->swoole->on("start",array($this,"onStart"));

? ? ? ? $this->swoole->on("connect",array($this,"onConnect"));

? ? ? ? $this->swoole->on("receive",array($this,"onReceive"));

? ? ? ? $this->swoole->on("connect",array($this,"onConnect"));

? ? ? ? $this->swoole->on("close",array($this,"onClose"));

? ? }

? ? public function onStart($server)

? ? {

? ? ? ? echo 'hello';

? ? }

? ? public function onConnect($server,$reactor_id)

? ? {

? ? ? ? echo 'world';?

? ? }

? ? public function onReceive($server,$fd,$reactor_id ,$data)

? ? {

? ? ? ? //這里創(chuàng)建進(jìn)程

? ? ? ? for($i = 0; $i< $this->worker_nums; $i++)

? ? ? ? {

? ? ? ? ? ? $process = new swoole_process(array($this,'onProcess'),false,false);

? ? ? ? ? ? $process->useQueue();

? ? ? ? ? ? $pid = $process->start();

? ? ? ? ? ? $this->workers[$pid] = $process;

? ? ? ? }

? ? ? ? //循環(huán)隊(duì)列

? ? ? ? foreach ($this->workers as $pid=>$worker)

? ? ? ? {

? ? ? ? ? ? $process->push("hello{$pid}");

? ? ? ? ? ? $result = $process->pop();

? ? ? ? ? ? echo "From worker: $result\n";//這里主進(jìn)程,接受到的子進(jìn)程的數(shù)據(jù)

? ? ? ? }

? ? ? ? //釋放

? ? ? ? for($i=0; $i < $this->worker_nums; $i++)

? ? ? ? {

? ? ? ? ? ? $ret = swoole_process::wait();

? ? ? ? ? ? $pid = $ret['pid'];

? ? ? ? ? ? unset($this->worker_nums[$pid]);

? ? ? ? ? ? echo "Worker Exit, PID=".$pid.PHP_EOL;

? ? ? ? }

? ? }

? ? public function onProcess($worker)

? ? {

? ? ? ? $recv? = $worker->pop();

? ? ? ? echo "FROM master {$recv}\n";

? ? ? ? $worker->push("heheh parent");

? ? ? ? $worker->exit(0);

? ? }

? ? public function onClose($server,$fd,$reactor_id)

? ? {

? ? ? ? echo 'close';

? ? }

}

$server = new server();

?>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凯正,一起剝皮案震驚了整個(gè)濱河市锡移,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漆际,老刑警劉巖淆珊,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異奸汇,居然都是意外死亡施符,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門擂找,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)戳吝,“玉大人,你說(shuō)我怎么就攤上這事贯涎√蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵塘雳,是天一觀的道長(zhǎng)陆盘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)败明,這世上最難降的妖魔是什么隘马? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮妻顶,結(jié)果婚禮上酸员,老公的妹妹穿的比我還像新娘蜒车。我一直安慰自己,他們只是感情好幔嗦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布酿愧。 她就那樣靜靜地躺著,像睡著了一般邀泉。 火紅的嫁衣襯著肌膚如雪寓娩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天呼渣,我揣著相機(jī)與錄音,去河邊找鬼寞埠。 笑死屁置,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仁连。 我是一名探鬼主播蓝角,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼饭冬!你這毒婦竟也來(lái)了使鹅?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昌抠,失蹤者是張志新(化名)和其女友劉穎患朱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體炊苫,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裁厅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侨艾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片执虹。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖唠梨,靈堂內(nèi)的尸體忽然破棺而出袋励,到底是詐尸還是另有隱情,我是刑警寧澤当叭,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布茬故,位于F島的核電站,受9級(jí)特大地震影響蚁鳖,放射性物質(zhì)發(fā)生泄漏均牢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一才睹、第九天 我趴在偏房一處隱蔽的房頂上張望徘跪。 院中可真熱鬧甘邀,春花似錦、人聲如沸垮庐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哨查。三九已至逗抑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寒亥,已是汗流浹背邮府。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溉奕,地道東北人褂傀。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像加勤,于是被迫代替她去往敵國(guó)和親仙辟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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