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.
Answered by Aashna Saito. Error: connect etimedout is a Temporary issue when the Salesforce API is timed out. ETIMEDOUT comes from the Node. js engine and the error implies ETIMEDOUT (Operation timed out): A connect or send request failed because the connected party did not properly respond after a period of time.
Ioredis describes itself as a “robust, full-featured Redis client that is used in the world's biggest online commerce company Alibaba and many other awesome companies”.
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.
It's a bit late but can be helpful in the future for somebody else.
const redis = new Redis({
port: <your_redis_port>,
host: <your_redis_hostname>,
connectTimeout: 10000
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With