4
我有一个有效的服务器配置,其中redis无法访问,但服务器可以正常运行(当redis无法找到时,我只是将功能剥离)。当没有连接时,你如何杀死一个redis客户端?
但是,我无法很好地管理连接错误。我想知道连接错误何时失败,并在这种情况下关闭客户端。
我发现连接重试将永不停止。并且quit()实际上被吞噬 - “为下一个服务器连接排队退出。” - 被叫时。
在没有建立连接的情况下,有没有办法杀死客户端?
var redis = require("redis"),
client = redis.createClient();
client.on("error", function(err) {
logme.error("Bonk. The worker framework cannot connect to redis, which might be ok on a dev server!");
logme.error("Resque error : "+err);
client.quit();
});
client.on("idle", function(err) {
logme.error("Redis queue is idle. Shutting down...");
});
client.on("end", function(err) {
logme.error("Redis is shutting down. This might be ok if you chose not to run it in your dev environment");
});
client.on("ready", function(err) {
logme.info("Redis up! Now connecting the worker queue client...");
});
- 错误 - Resque错误:错误:Redis的连接127.0.0.1:6379失败 - 连接ECONNREFUSED
- 错误 - Redis的被关停。如果您选择不要在你的开发环境中运行它,这可能是好的
- 错误 - Resque错误:错误:Redis的连接127.0.0.1:6379失败 - 连接ECONNREFUSED
- 错误 - Resque错误:错误:Redis的连接127.0.0.1:6379失败 - 连接ECONNREFUSED
- 错误 - Resque错误:错误:Redis的连接127.0.0.1:6379失败 - 连接ECONNREFUSED
- 错误 - Resque错误:错误:Redis的连接127.0.0.1:6379失败 - 连接ECONNREFUSED
有趣的一件事是事实'结束'事件被发射。为什么?
end()由于非常类似的原因不起作用。即使在客户端结束之后,也会引发连接错误。现在情况更糟,虽然客户端不在了,但是节点会崩溃。根本原因似乎是重试。 – Greg