gpt4 book ai didi

r - AWS EC2 上 doredis 中的套接字连接错误

转载 作者:IT王子 更新时间:2023-10-29 06:12:09 26 4
gpt4 key购买 nike

我已经设置了一个实例用作 redis worker。所有端口均已打开。当我发出

library("doRedis")
redisWorker(host="ZZZ-23-20-XXX-XXX.compute-1.amazonaws.com", queue="jobs")

我得到了错误

Error in socketConnection(host, port, open = "a+b", blocking = TRUE, timeout = timeout) : 
cannot open the connection
In addition: Warning message:
In socketConnection(host, port, open = "a+b", blocking = TRUE, timeout = timeout) :
ZZZ-23-20-XXX-XXX.compute-1.amazonaws.com:6379 cannot be opened

知道会发生什么吗?我也使用了内部 EC2 IP (10.XXX.XXX.ZZZ) 仍然得到同样的错误。服务器已启动、正在运行并且可以ping

我正在运行最新最好的 R、doRedis、Ubuntu 12.04,所有这些都已完全更新。之前已经讨论过,但没有找到解决方案。 doRedis with strange socket connection error in Ubuntu Linux, R, and RStudio

最佳答案

尽管使用 registerDoRedis() 时我遇到了类似的问题,因为您无法设置超时,我认为问题出在函数“redisConnect”中使用的超时值。

在 R 中,如果您运行 fix(redisConnect),您可以看到超时的默认值如下:

redisConnect <- 函数(主机 = “localhost”,端口 = 6379,returnRef = FALSE, 超时 = 2147483647L)

似乎这个巨大的超时值导致了这个问题。要检查它在使用它的行上的更改:

con <- socketConnection(host, port, open = "a+b", blocking = TRUE, 
timeout = timeout)

对此:

con <- socketConnection(host, port, open = "a+b", blocking = TRUE, 
timeout = 30)

我发现这行得通,但只要您重新加载包,更改就会被删除。我今天才发现这个,所以会向开发人员提交一个错误。顺便说一句,我在 OSX 上运行 R 2.15。

您正在使用的函数应该默认为超时 30,或者您可以尝试在函数调用中设置它而不是 fix() 底层代码。

关于r - AWS EC2 上 doredis 中的套接字连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13491202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com