7 months ago
In my nodejs app I create a BeeQueue
instance like:
const eventProcessingQueue = new BeeQueue(`queue_name`, {
redis: { url: appSettings.redisConnectionString },
});
appSettings.redisConnectionString
is set - correctly - to the internal Redis URL, but when trying to deploy (after successfully building),
I get Redis connection to redis.railway.internal:6379 failed - getaddrinfo ENOTFOUND redis.railway.internal.
Switching to the public URL, works fine.
Tried appending family=6
(and 0 which is the default) at the connection string.
Also tried creating a redis client and seting the socket family to 6 but then it fails for another reason (trying to connect to localhost).
I also have setup a sleep when starting.
The service I'm connecting from and the redis instance, both are in the same project.
Any ideas?
Thank you!
2 Replies
7 months ago
please read this docs section -
7 months ago
you might not be directly using ioredis, but more than likely it's what beequeue is using under the hood
Hi @Brody 👋
I already tried that, still the same issue. Beequeue uses https://github.com/redis/node-redis.
7 months ago
does it use some very old version of that module? perhaps before it supported ipv6
If you check here https://github.com/redis/node-redis/blob/master/docs/client-configuration.md I also tried setting socket.family to 6
7 months ago
okay fair, are you getting these errors locally on when on Railway
The only difference is that when I try something like
const redisClient = createClient({
url: appSettings.redisConnectionString,
socket: {
family: 6,
},
});
i now get the same error but it tries to connect to localhost
7 months ago
that just means that's incorrect syntax and the client is falling back to it's default values for the host
7 months ago
?
7 months ago
is redis in the same project?
7 months ago
are you pro?
7 months ago
can you try switching to the v2 runtime in the service settings
7 months ago
in the service settings
7 months ago
Yeah, i know where the service settings are, I just don't find something to switch to v2 🙂
7 months ago
oh my bad, sorry for assuming
7 months ago
let me get back to you when I'm at my computer, might end up needing a minimal reproducible example
7 months ago
and I'll need a project id for that
a month ago
Did you resolve this? I am having the same issue and can't seem to find a solution other than using the public url
a month ago
I found this combination worked for me with redis 4.7.0
const redisClient = createClient({
url: Deno.env.get("REDIS_URL"), // https://docs.railway.com/reference/errors/enotfound-redis-railway-internal
socket: {
family: 6,
},
});