При использовании Twisted ReconnectingClientFactory и соединение теряется, мне нужно вызвать connect.connect() из метода clientConnectionLost или это происходит автоматически?Twisted ReconnectingClientFactory - автоподключить или явно вызвать connector.connect()?
Ответ может показаться очевидным, потому что это, в конце концов, ReconnectingClientFactory но Twisted документация говорит что-то here, что есть мне интересно:
«Это может быть полезно для вызова connector.connect() - это снова подключится ».
Формулировка и использование термина «может быть полезным» приводит к вопросу, поскольку api doc для основной клиентской фабрики говорит то же самое.
ответ Макса является правильным, но после дальнейших исследований я считаю, что «Корректор» ответ, как показано ниже:
def clientConnectionLost(self, connector, reason):
# do stuff here that is unique to your own requirements, then:
ReconnectingClientFactory.clientConnectionLost(self, connector, reason)
Это позволяет делать специальные вещи, необходимые для работы приложения, а затем вызвать в заводской код, чтобы Скрутите, чтобы позаботиться о повторном вызове() для вас.
См. Дополнение к оригинальному вопросу – RoyHB