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'));
新しい高速クライアントが接続されるたびに、これは正しいアプローチですか? メモリリークにつながりませんか?