php worker类,Workerman进阶之Worker类-id属性研究
Workerman進階之Worker類->id屬性研究
龍行????PHP????2019-5-20????1815????0評論
先來看看官方給的例子 如果id===0 設置定時器
use Workerman\Worker;
use Workerman\Lib\Timer;
require_once './Workerman/Autoloader.php';
$worker = new Worker('tcp://0.0.0.0:8585');
$worker->count = 4;
$worker->onWorkerStart = function($worker)
{
// 只在id編號為0的進程上設置定時器,其它1、2、3號進程不設置定時器
if($worker->id === 0)
{
Timer::add(1, function(){
echo "4個worker進程,只在0號進程設置定時器\n";
});
}
};
// 運行worker
Worker::runAll();
注意點:
1.
注意:windows系統由于不支持進程數count的設置,只有id只有一個0號。windows系統下不支持同一個文件初始化兩個Worker監聽,所以windows系統這個示例無法運行。
2.如果進程重啟id值是不變的
3.進程編號id是基于每個實例,每個實例都是從0開始給自己進程編號,所以每個worker實例是會重復,但是自己一個實例中id是不會重復
這個id屬性可以用來區別進程哪個進程,上面例子,4個進程.我想在0號進程設置定時器
大自然的搬運工,摘抄一部分給自己做個筆記
評論一下
贊助站長
贊助站長X
總結
以上是生活随笔為你收集整理的php worker类,Workerman进阶之Worker类-id属性研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内有哪些令人向往的美食名称呢?
- 下一篇: java选填,java选择填空 - os