Я использую nodejs и mongoDB - и у меня возникают проблемы с подключением.
Ну, на самом деле "проснуться"! Он прекрасно соединяется - супер быстрый, и я в целом доволен результатами.
Моя проблема: Если я не использую соединение какое-то время (скажу, что, поскольку таймфрейм меняется 5+ минут), похоже, он останавливается. Я не получаю сообщения об отключении - это просто зависает.
В конце концов я получаю ответ вроде Error: не удалось подключиться к [*.mongolab.com: *] - (* = маскированные значения)
Быстрый перезапуск приложения, а соединение - снова. Иногда, если я не перезапускаю приложение, я могу обновить его и снова подключиться.
Вот почему я думаю, что это "бодрствование".
Грубая схема кода:
Я не включил код - я не думаю, что он нужен. Он работает (помимо отключения связи)
Замечания: Есть только один "connect" - я никогда не закрываю его. Я никогда не открываю глаза.
Я использую mongoose, socketio.
/* constants */
var mongoConnect = 'myworkingconnectionstring-includingDBname';
/* includes */
/* settings */
/* Schema */
var db = mongoose.connect(mongoConnect);
/* Socketio */
io.configure(function (){
io.set('authorization', function (handshakeData, callback) {
});
});
io.sockets.on('connection', function (socket) {
});//sockets
io.sockets.on('disconnect', function(socket) {
console.log('socket disconnection')
});
/* The Routing */
app.post('/login', function(req, res){
});
app.get('/invited', function(req, res){
});
app.get('/', function(req, res){
});
app.get('/logout', function(req, res){
});
app.get('/error', function(req, res){
});
server.listen(port);
console.log('Listening on port '+port);
db.connection.on('error', function(err) {
console.log("DB connection Error: "+err);
});
db.connection.on('open', function() {
console.log("DB connected");
});
db.connection.on('close', function(str) {
console.log("DB disconnected: "+str);
});
Я пробовал различные конфигурации здесь, как открытие и закрытие все время - я считаю, однако, общий консенсус заключается в том, чтобы сделать то же самое, что я с одной открытой упаковкой.??
Я пробовал тестер подключения, который продолжает проверять статус соединения... хотя это, как говорят, все в порядке - проблема все еще происходит.
У меня была эта проблема с первого дня. Я всегда принимал MongoDB с MongoLab. Проблема, по-видимому, хуже на локальном хосте. Но у меня все еще есть проблема с Azure и теперь nodejit.su.
Как это происходит везде - это, должно быть, я, MongoDB или mongolab.
Кстати, у меня тоже был опыт работы с драйвером php. (чтобы подтвердить это на узле, хотя)
Это было бы здорово для некоторой помощи - даже если кто-то просто сказал "это нормально"
заблаговременно
Rob