2013-09-01 3 views
4

Node.js, Express, Redis 및 Socket.io를 사용하고 있습니다. Redis가 종료되면 Node.js가 종료됩니다.redis 실패시 nodejs가 종료됩니다.

어떻게하면이 문제를 방지 할 수 있습니까? 어쩌면 코드 재 연결 등을 할 수 있습니까?

출력 :

info - socket.io started 
Express server listening on port 3000 

오류 : 당신이 당신의 레디 스 클라이언트 인스턴스에 대한 오류 처리기가없는 것처럼

events.js:72 
     throw er; // Unhandled 'error' event 
      ^Error: Redis connection to 127.0.0.1:6380 failed - connect ECONNREFUSED 
    at RedisClient.on_error (...../node_modules/redis/index.js:151:24) 
    at Socket.<anonymous> (...../node_modules/redis/index.js:86:14) 
    at Socket.EventEmitter.emit (events.js:95:17) 
    at net.js:426:14 
    at process._tickCallback (node.js:415:13) 
+0

을 제공 할 수 있기를 바랍니다. 여기에서 형식을 지정하는 방법을 모릅니다. – twb

+0

아래 답변을 수락 된 것으로 표시 할 수 있다면 좋을 것입니다. 유용한 답변입니다. –

+0

오래되었습니다. 나는 많은 것을 기억할 수 없다. 이것이 답이라고 생각하십니까? 그렇다면 나는 그것을 표시 할 것입니다. – twb

답변

9

것 같다. 코드에서 일부 발췌 내용을 제공 할 수 있습니까? 아마도 우리는 당신을 더 잘 도울 수 있습니다. 오류 메시지는 약간 적습니다. https://github.com/mranney/node_redis#usage

당신이 오류 콜백에이 있습니까 : 다음 추측이 있다면

여기를 참조하십시오 ... 당신이 오류 핸들러가없는

을 말할 것?

예 :

var redis = require("redis"), 
client = redis.createClient(); 


// This is required so your error doesn't bubble 
// upwards and kills your instance 

client.on("error", function (err) { 
    console.log("Error " + err); 
}); 

node_redis 클라이언트가 자동으로 그래서 당신은 당신이 MAX_ATTEMPTS 및 기타 옵션을 구성 할 수 있지만 것을 처리 할 필요가 없습니다 다시 연결합니다. 여기를 참조하십시오 : https://github.com/mranney/node_redis#rediscreateclientport-host-options

을 내가 몇 가지 유용한 정보 오류 메시지에 대한 유감

+0

나는 이것을 시도 할 것이다. 감사! – twb

+0

문제가 해결 되었습니까? –