Estoy tratando de manejar la conexión de reintento redis si hay algún problema de red. Parece que funciona, pero no estoy seguro porque a veces ECONNRESET .
redisOptions: { sentinels: [ { host: process.env.redis_server_1, port: process.env.redis_port_1 }, { host: process.env.redis_server_2, port: process.env.redis_port_2 }, { host: process.env.redis_server_3, port: process.env.redis_port_3 }, ], name: 'mymaster' }, El objeto redisOptions está definido en el archivo de configuración.
function updateConfigurations(){ console.log(configuration.redisOptions); configuration.redisOptions.sentinelRetryStrategy = (times) => { console.log('Trying to connect to Redis ', times); return Math.min(times * 100, 10000); } // configuration.redisOptions.retryStrategy = (times) => Math.min(times * 50, 2000); }Estoy probando esto desconectándome de VPN. En el momento en que me desconecté de la VPN, el siguiente mensaje de error se imprime en la consola.
[ioredis] Unhandled error event: Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:209:20)Y luego debajo de iniciar sesión para volver a intentar conectarse
[ioredis] Unhandled error event: Error: All sentinels are unreachable. Retrying from scratch after 400ms. Last error: Connection is closed. ¿Es esta una forma correcta de manejar el reintento de conexión? ¿Cómo debo manejar ECONNRESET ?