mirror of
https://github.com/zhigang1992/deployd.git
synced 2026-05-22 20:37:59 +08:00
added connection loader to db, fixes db connection race condition
This commit is contained in:
19
lib/db.js
19
lib/db.js
@@ -4,8 +4,8 @@ var config = require('./config')
|
||||
, connectionString = config['db-host'] + config['db']
|
||||
, Db = mongodb.Db
|
||||
, Server = mongodb.Server
|
||||
, server_config = new Server(config['db-host'], 27017, {auto_reconnect: true, native_parser: true})
|
||||
, db = new Db(config['db'], server_config, {})
|
||||
, server = new Server(config['db-host'], 27017, {auto_reconnect: true, native_parser: true})
|
||||
, db = new Db(config['db'], server, {})
|
||||
;
|
||||
|
||||
|
||||
@@ -15,14 +15,15 @@ function ready(fn) {
|
||||
, args = arguments
|
||||
;
|
||||
|
||||
server_config.connected
|
||||
server.state === 'connected'
|
||||
? fn.apply(this, arguments)
|
||||
: server_config.connect(db, function(err) {
|
||||
if(err) console.log(err);
|
||||
else {
|
||||
fn.apply(_self, args);
|
||||
}
|
||||
})
|
||||
: db.open(function(err) {
|
||||
if(err) console.log(err);
|
||||
else {
|
||||
fn.apply(_self, args);
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user