ioredis Unhandled error event: Error: connect ETIMEDOUT

Ankur Soni picture Ankur Soni · Aug 16, 2018 · Viewed 11.8k times · Source

Has anyone encountered below error while connecting to standalone redis server using node js ioredis package?

Below is the error stack trace:

2018-08-16T10:52:18.351869060Z [ioredis] Unhandled error event: Error: connect ETIMEDOUT
2018-08-16T10:52:07.449457296Z at Timer.listOnTimeout (timers.js:207:5)
2018-08-16T10:52:07.449448499Z at tryOnTimeout (timers.js:237:5)
2018-08-16T10:52:07.449439722Z at ontimeout (timers.js:365:14)
2018-08-16T10:52:07.449430834Z at Socket._onTimeout (net.js:339:8)
2018-08-16T10:52:07.449421915Z at Socket.emit (events.js:185:7)
2018-08-16T10:52:07.449413002Z at emitNone (events.js:86:13)
2018-08-16T10:52:07.449403458Z at Socket.g (events.js:291:16)

This is occurring for instantiating only Standalone Redis object in node js. Below is the code I am using,

var publisher = new redis(redisPort, redisHost);

any solution would be highly appreciated.

Answer

David R picture David R · Aug 16, 2018

You can probably try increasing the timeout limit since ioredis has a default timeout value.

Normally we would have it set as,

new Redis({
  connectTimeout: 10000
})

In your case, since you have,

var publisher = new redis(redisPort, redisHost);

You will have to edit your code to pass the connectTimeout parameter to be passed accordingly.

Hope this helps.