скрученный: один клиент, много серверов

Я пытаюсь использовать скрученный для создания кластера компьютеров, которые запускают одну программу на части большего набора данных.

Мои "серверы" получают блок данных от клиента и команды выполнения x на нем.

Мой "клиент" соединяется с несколькими серверами, дающими им каждый блок данных и говорящими им что параметры к команде выполнения x с.

Мой вопрос: есть ли способ настроить реакторный цикл для соединения со многими серверами:

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

или я должен подкачать клиент и сервер в своей парадигме?

7
задан Austin Richardson 6 July 2010 в 19:01
поделиться

1 ответ

Просто вызовите connectTCP несколько раз.

Хитрость, конечно, в том, что reactor.run() блокирует "навсегда" (на все время выполнения вашей программы), поэтому вы не захотите вызывать that несколько раз.

У вас есть несколько вариантов; вы можете установить вызов по таймеру для создания будущих соединений, или вы можете начинать новые соединения по событиям вашего соединения (например, connectionLost или clientConnectionFailed).

Или, в самом простом случае, вы можете просто установить несколько попыток соединения до того, как reactor.run() запустит все шоу, как это:

for host in hosts:
    reactor.connectTCP(host, PORT, BlastFactory())
reactor.run()
8
ответ дан 7 December 2019 в 05:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: