zoukankan      html  css  js  c++  java
  • nodejs两个例子

    1.nodejs多线程

    var cluster=require("cluster");//ͨ¹ýcluster¿ÉÒÔ·Ö³öһЩ×ÓÏß³Ì
    var http=require("http");
    var numCPUs=require("os").cpus().length;//»ñµÃCPUÊǼ¸ºË
    console.log(numCPUs);
    var rssWarn=(12*1024*1024);
    var heapWarn=(10 * 1024 * 1024);
    if (cluster.isMaster) {
    for (i = 0; i < numCPUs; i++) {
    var worker = cluster.fork();
    worker.on("message", function (m) {
    if (m.memory) {
    if (m.memory.rss > rssWarn) {
    console.log('Worker' + m.process + " using to much memory");
    }else {
    console.log('Worker' + m.process + " is processing");
    }
    }
    })
    }
    cluster.on("death", function (worker) {
    console.log("worker " + worker.pid + ' died');
    cluster.fork();
    });
    }else {
    http.Server(function (req, res) {
    res.writeHead(200);
    res.end("Hello World ");
    }).listen(3000);
    setInterval(function report() {
    process.send({ "memory": process.memoryUsage(), "process": process.pid });
    }, 1000);
    }

    2.nodejs日志分块


    var fs=require('fs');
    var log='D:/nodejs/log_file.log';//ÈÕÖ¾Îļþ·¾¶
    var buf;
    var childPath=__dirname;//·Ö¸îµÄÈÕÖ¾Îļþ´æ·ÅµÄ·¾¶
    var buf_size=1024*10;//·Ö¸îÈÕÖ¾Îļþ×ÓÎļþ×î´óµÄ´óС
    var logSize;//ÇóµÄÈÕÖ¾Îļþ´óС
    var offse=0;
    fs.stat(log,function(err,stats){
    if(err) throw err;
    logSize=stats.size;//µÃµ½Îļþ´óС
    //´ò¿ªÎļþ
    fs.open(log,'r',0666,function(err,fd){
    if(err) throw err;
    buf=new Buffer(buf_size);
    readLog(fd);
    });
    });
    var lognumber=0;
    function readLog(fd){
    lognumber++;
    //¶ÁÈ¡ÈÕÖ¾
    fs.read(fd,buf,0,buf_size,offse,function(err){
    if(err) throw err;
    logArr=buf.toString('utf8').split(' ');
    var last=false;
    if(offse+buf_size<logSize){
    last=logArr.pop();
    // console.log(last);
    }
    writeChildLog(childPath+"/logchild"+lognumber+'.log',logArr);
    // console.log(offse+"|"+last.length+"|"+logSize);
    if(last.length>0){
    offse+=buf_size-last.length;
    // console.log(offse);
    buf=new Buffer(buf_size);
    if(offse<logSize){
    readLog(fd);
    }
    }
    });
    }
    function writeChildLog(filename,logArr){
    console.log(logArr.join(" "));
    fs.open(filename,'w',function(err,fd){
    if(err) throw err;
    fs.write(fd,logArr.join(" "),0,'utf8',function(e){
    if (e) throw e;
    fs.close(fd);
    });
    });


    }

  • 相关阅读:
    Java入门 第二季第三章 继承
    湖南长沙IOS(xcode swift) 开发交流群
    C++对象模型——&quot;无继承&quot;情况下的对象构造(第五章)
    算术与逻辑运算指令具体解释
    linux中man手冊的高级使用方法
    Swift 数组
    webservice Connection timed out
    创建SharePoint 2010 Timer Job
    指向函数的指针数组的使用方法
    修改Tomcat Connector运行模式,优化Tomcat运行性能
  • 原文地址:https://www.cnblogs.com/sunwubin/p/3419756.html
Copyright © 2011-2022 走看看