python - twisted:一个客户端,多个服务器

标签 python twisted

我正在尝试使用 twisted 创建一个计算机集群,这些计算机在一个更大的数据集上运行一个程序。

我的“服务器”从客户端接收一大块数据并在其上运行命令 x。

我的“客户端”连接到多个服务器,为每个服务器提供一大块数据,并告诉它们运行命令 x 使用的参数。

我的问题是:有没有办法设置 react 器循环以连接到许多服务器:

reactor.connectTCP('localhost', PORT, BlastFactory())
reactor.run()

或者我是否必须在我的范例中交换客户端和服务器?

最佳答案

只需多次调用connectTCP

当然,诀窍在于 reactor.run() 会“永远”阻塞(程序的整个运行时间),因此您不想调用 that 多次。

您有多种选择;您可以设置定时调用以建立 future 的连接,或者您可以从连接事件(如 connectionLostclientConnectionFailed)开始新连接。

或者,在最简单的情况下,您可以在 reactor.run() 开始整个表演之前设置多次连接尝试,如下所示:

for host in hosts:
    reactor.connectTCP(host, PORT, BlastFactory())
reactor.run()

关于python - twisted:一个客户端,多个服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3189222/

相关文章:

python - Matplotlib - 标题一 `colobar`

python - 查找 'pip' 的模块规范时出错(AttributeError : module '__main__' has no attribute '__file__' )

python - 根据他们的位置创建一个新列表

python - 在 pandas 中,我可以深度复制包含索引和列的 DataFrame 吗?

python - Twisted:带有推送生产者示例的 tcp 服务器?

python - 有没有一种简单的方法可以将 PyCharm 和 WinPython 的整个安装放在 USB 内存棒上?

Python Twisted - 如何为 twisted.logger 设置日志级别

Python Twisted 客户端连接丢失

python - Twisted、MySQLdb 和 (2006, 'MySQL server has gone away') 使用 Twisted adbapi

python - 如何赋予 Twisted 守护进程 root 权限