0

node Express サーバーで pg-co を実行する場合、クライアント接続ごとにデータベースに接続しますか? またはグローバル接続を維持しますか?

参考:https ://github.com/basicdays/co-pg

言い換えれば、ここに私のノードモジュールがあります:

module.exports.set = function(app, worker_id) {

   var ms = require("mslibmod"),
      co = require('co'),
      async = require('async'),
      pgconn = require('pgconn').create(),
      pg = require('co-pg')(require('pg')),
      exec = require('co-exec'),
      thunkify = require('thunkify');

    app.get('/getLines', function(req, res, next) {
        var id = req.param('id');

        co(function*() {
            try {
                var pgHandle = yield pg.connect_(pgconn.dbserver('galaxy'));
                var statement = 'select business_name FROM business_info WHERE business_id = ' + '1016';
                var result = yield pgHandle[0].query_(statement);
                pgHandle[1]();  // pg queue done
                if (result.rows[0] == undefined){}
                ms.log(result.rows[0].business_name);

            } catch (e) {
                console.error('Panic: ' + e.toString());
            }
        })();

        res.send({});
    });

};

コマンドの実行方法に注意してください。

var pgHandle = yield pg.connect_(pgconn.dbserver('galaxy'));

新しい高速クライアントが接続されるたびに、これは正しいアプローチですか? メモリリークにつながりませんか?

4

0 に答える 0