如果我快速连续多次重新加载,Node.js应用程序将无响应

时间:2013-04-25 19:39:43

标签: node.js postgresql refresh

我正在开发一个node.js应用程序,该应用程序显示带有地图数据的单个页面(最终将使用.ajax调用进行更新)。

现在,我的代码看起来像这样:

    app.get('/', function(req, res) {
    postgres.retrieve('SELECT * FROM settings', function(err, proj_data){
        if (err){
            res.send(500);
        }
        else{
            postgres.retrieve('SELECT * FROM report ORDER BY ordering', function(err, report_data){
                res.render('map', {project: proj_data[0], report: report_data});
            });
        }
    });

和postgres.retrieve是一个使用node-postgres客户端的函数:

        retrieve: function(query, complete){
            pg.connect(connection, function(err, client, done){
                client.query(query, function(err, results){
                    if (err){
                        done();
                        return complete(err, null);
                    }
                    else {
                        done();
                        return complete(null, results.rows);
                    }
                });
            });
        },

目前,如果我按f5 10次(比如说,10秒),一切似乎都很好,但是之后,内存使用率上升,应用程序变得完全没有响应。我想知道我的代码中是否存在导致此问题的内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

哎呀,似乎这是Node v0.10.0 +

中的一个问题

https://github.com/joyent/node/issues/5108