为什么dispynode在与dispy客户端联系时会返回“忽略ping”?

时间:2015-01-07 19:07:17

标签: python python-2.7 parallel-processing dispy

我正在使用Centos6.5服务器集群,其中我有一个头节点,其余的是从节点。节点通过本地网络192.168.1.x上的交换机连接,该交换机对外界不可见。

我尝试在头节点上使用Python Dispy在从属节点上分发Python脚本。从节点都运行dispynode.py,当我在客户端节点上启动Dispy程序时,运行dispynode.py的从站返回"忽略来自192.168.1.1"的ping。它然后挂起。关于为什么运行dispynode的奴隶忽略而不是运行这个工作的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

答案如上所述@Rich,版本必须相同。当客户端节点和服务器节点具有不同版本时,Dispy不会返回非常有用的错误消息。它们必须具有相同的版本号才能正确通信。我在dispynode.py的源代码中找到了这个:

try:
                info = unserialize(msg[len('PING:'):])
                assert info['version'] == _dispy_version
                if info['ip_addr'] is None:
                    addr = (addr[0], info['port'])
                else:
                    addr = (info['ip_addr'], info['port'])
except:
                logger.debug('Ignoring ping message from %s (%s)', addr[0], addr[1])
                continue

请注意断言版本行。