我有一个有效的服务器配置,其中无法访问 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
有趣的一件事是发出了“结束”事件。为什么?