节点http.createServer如何缓冲传入的请求

时间:2017-05-11 03:39:37

标签: node.js webserver buffer delay

我正在构建一个生成PDF文件的小型节点服务器(使用Nightmare.js)。每个请求都调用createPage来生成一个pdf。

传入的请求往往都是在同一时间出现,这使得运行的PC过载。

我需要缓冲传入的请求以延迟执行某些请求,直到某些当前请求完成。我该怎么做?

function createPage(o, final) {
    //generate pdf files
}

http.createServer(function (request, response) {
    var body = [];
    request.on('data', function (chunk) { 
        body.push(chunk);
    }).on('end', function () {
        body = Buffer.concat(body).toString();
        var json = JSON.parse(body);

        createPage(json, function (status) {
            if (status === true) {
                response.writeHead(200, { 'Content-Length': 0 });
                console.log('status good');
            } else {
                response.writeHead(500, { 'Content-Type': 'text/html' });
                response.write(' ' + status);
            }
            response.end('\nEnd of Request \n');
       });
   });
}).listen(8007);

0 个答案:

没有答案